The EntityStateMachine: the states, the default state and the entry and exit sequences.
StateMachineGeComponentDef
Inheritance 1 ancestor · 40 siblings
- IGeComponentDef
- 0x15898c52
- 0xfe3fdc0c (removed in patch 16.20)
- AnimationGeComponentDef
- AttachmentGeComponentDef
- AttackableUnitGeComponentDef
- AutoRegionTaggingGeComponentDef
- BarracksGeComponentDef
- BillboardGeComponentDef
- CharacterMeshGeComponentDef
- CinematicCameraGeComponentDef
- DeathGeComponentDef
- DragonCampGeComponentDef
- DynamicMaterialGeComponentDef
- DynamicPointLightGeComponentDef
- DynamicSpotlightGeComponentDef
- EnvMeshGeComponentDef
- EsportsBannerGeComponentDef
- GearGeComponentDef (removed in patch 16.11)
- HierarchyGeComponentDef
- LightChannelsGeComponentDef
- LightRegionGeComponentDef
- ModesScenarioGeComponentDef
- MonarchRegionLocatorGeComponentDef (removed in patch 16.5)
- NavRegionGeComponentDef
- NetworkingGeComponentDef
- NeutralCampGeComponentDef
- NewIconGeComponentDef
- PaintedRegionGeComponentDef
- PlanarReflectorGeComponentDef
- RegionGeComponentDef
- ScriptGeComponentDef
- SequencerGeComponentDef
- SfxGeComponentDef
- ShopGeComponentDef
- SkinCharacterGeComponentDef
- StateMachineGeComponentDefcurrent
- SuperwardGeComponentDef
- TeamGeComponentDef
- TeamSpawnPointGeComponentDef
- VfxGeComponentDef
- WorldSpaceUiGeComponentDef
Class Documentation
Edit documentationAdds a state machine to an entity. The entity is in one state at a time. Each state
plays a Sequence when the entity enters the state and another when it
leaves the state. StateMachineDef supplies the states and their sequences, and states
supplies the map entities that each sequence plays on.
Initial state. When the component is created, the current state is the DefaultState
of the EntityStateMachine. No sequence plays at that point.
State changes. State changes arrive from the server, each with the new state and the time at which it began. For each change, the client:
- stops the running exit sequence and plays the
OutSequenceof the current state; - stores the new state and its start time;
- stops the running entry sequence and plays the
InSequenceof the new state, seeked to the time since the start time, and at least0.
Activation. When the entity activates, the client plays the InSequence of the
current state again, seeked the same way. An entity that activates late therefore joins
the state at the point that the state has reached.
Object bindings. A sequence plays only if both EntityStateMachine.states and states
have an entry for the state, and the entry in states has a binding list for the role
(InSequence or OutSequence). Each binding names a selector of the sequence and a map
entity by name. Before the sequence plays, the client binds each entity to its selector.
Bindings whose entity does not exist are skipped.
Properties
The object bindings of each state, keyed by the state name hash. Each value
(StateMachineHelperStateData) holds one binding
list for InSequence and one for OutSequence. A state without an entry here plays no
sequence.
Referenced by 5 classes · 5 properties
- AttackableEntityTemplate StateMachine
Pointer<StateMachineGeComponentDef> - CharacterMeshEntityTemplate StateMachine
Pointer<StateMachineGeComponentDef> - NeutralCampEntityTemplate StateMachine
Pointer<StateMachineGeComponentDef> - SequencerEntityTemplate SequencerStateMachine
Embed<StateMachineGeComponentDef> - VfxEntityTemplate StateMachine
Pointer<StateMachineGeComponentDef>