# State Machine Behaviors

#### **State Machine**

A state machine is able to implement the complex states of a node/scene/application (including sub state machines and history state machines). Transitions with conditions and actions are used to change between states.

**Common Properties**

<div class="contents" id="bkmrk-property-name-type-d"><div class="contents"><div class="contents"><div class="textblock"><table class="doxtable" style="width: 100%;"><tbody><tr><th style="width: 14.9567%;">**Property Name**</th><th style="width: 38.4398%;">**Type**</th><th style="width: 46.6035%;">**Description**</th></tr><tr><td style="width: 14.9567%;">StateMachine</td><td style="width: 38.4398%;">Candera::Internal::StateMachineBehaviorData\*</td><td style="width: 46.6035%;">A state machine is able to implement the complex states of a node/scene/application (including sub state machines and history state machines). Transitions with conditions and actions are used to change between states.</td></tr><tr><td style="width: 14.9567%;">ConsumeEvent</td><td style="width: 38.4398%;">bool</td><td style="width: 46.6035%;">Set this flag to false if the event should not be consumed by the trigger. By default it is set to true and if the trigger evaluates to true the event will not be routed to any other behavior.</td></tr><tr><td style="width: 14.9567%;">ExecutePostponedActions</td><td style="width: 38.4398%;">bool</td><td style="width: 46.6035%;">When set to true (default is true) this event handler is the one that will execute the postponed asynchronous actions that are part of this event handler (directly or indirectly). When set to false the surrounding event handler will execute the postponed actions.</td></tr></tbody></table>

</div></div></div></div>