Estado de una máquina de estados
Base : Node
Subclases directas : | ActorBlinkingState | ActorDistanceState | ActorFollowPathState | ActorGoToState | ActorMoveState | ActorPathFinderState | BodyForceState | CompositeState | DispatchMessagesState | Finished | InMeetingState | LookAtActorState | LookAtMouseState | NodesWalkingState | ProcedureState | RefState | ScreenState | SendMessageState | WidgetGoToState |
Una máquina de estados está compuesta por acciones (Action) y objetos de esta clase. Los estados tienen como hijos objetos de la clase Trigger. Que conectan con otros estados o acciones de la misma máquina.
Un estado tiene una duración determinada por su función. Normalmente cuando su función ha terminado la máquina cambia a otro estado.
Algunos estados o acciones no afectan directamente al objeto controlado sino a cómo se ejecuta la máquina de estados. Por ejemplo:
Machine. La máquina de estados es también un estado, por lo que puede ser insertada en otra máquina y componer así una submáquina. Sólo son posibles las transiciones entre estados de la submáquina, pero es posible la transición desde la submáquina, cualquiera que sea el estado en que se encuentre, a otro estado de la máquina que la engloba.
RefState. Nos sirve para poder reutilizar una funcionalidad de un State o incluso de una Machine. También podemos crear una clase derivada de ésta que sirva para parametrizar el estado o máquina resultante.
State. Estado simple. No hace nada en particular.
Finished. Cuando una máquina activa este estado se considera terminada. Ya no puede ejecutar nada más. Cuando esta máquina se utiliza como estado de otra, una condición StateFinishedCondition, asociada a una transición suya, retornaría true.
ParallelStates. Este estado puede tener como hijos otros estados. Nos permite ejecutar varios estados simultáneamente. Como las máquinas también son estados, este objeto nos permite la ejecución simultánea de varias máquinas de estados.
SwitchStates. Sirven para decidir en cada momento, qué estado se va a ejecutar dependiendo de una cierta variable numérica.