Structure
Description
A state machine consists in a set of states, a set of possible inputs and rules to trigger transitions to another state or to itself for any of the possible inputs.
States
A state denotes a given logical status. Each state machine shall have an initial state, which is the entry point for the state machine. When a state machine is executed it starts always in the initial state.

A state can have a set of actions associated when the state is activated (On Entry) and when deactivated (On Exit). All actions defined for the state changes are executed when entering or leaving the state.

Transitions
One or more transitions can be defined between two states. A transition is executed when the associated condition is met.
A transition aggregates a sender object, a condition and an action. If the condition is evaluated to true, the action is executed. Transitions are evaluated based on their logical order according to their definition.

CGI Studio provides a large number of standard events for its controls and a predefined set of conditions to choose from.

遷移の優先順位Transitionの優先順位
同じステートに複数の遷移が接続されている場合は、以下の2つの方法により遷移の優先順位を設定することができます。複数の遷移の発生条件が同一の場合などに有用な機能です。同じステートに複数のTransitionが接続されている場合は、2つの方法によりTransitionの優先順位を設定することができます。複数のTransitionの発生条件が同一の場合などに有用な機能です。
ステートマシンエディターツリーによる遷移の優先順位設定State Machine EditorツリーによるTransitionの優先順位設定遷移は、ステートマシンエディターの左上のツリービューに表示されます。遷移は、Transitionは、State Machine Editorの左上のツリービューに表示されます。Transitionは、優先度が高いものから上から順に表示されます。マウスのドラッグアンドドロップ操作により順序を入れ替えることができます。下図の場合、Transition_1の優先度が最も高く、Transition_3の優先度が最も低く設定されます。

プロパティパネルによる遷移の優先順位設定プロパティパネルによるTransitionの優先順位設定遷移は、Transitionは、プロパティパネルの [Transitions] > [ Exit Transitions ] に表示されます。遷移は、Transitionは、優先度が高いものから上から順に表示されます。[ アイテムを下に移動 ] と [ アイテムを上に移動 ] アイコンにより順序を入れ替えることができます。下図の場合、ExitTransitions 0 (= Transition_1)の優先度が最も高く、ExitTransitions 2 (= Transition_3)の優先度が最も低く設定されます。

State Machine Behavior
The state machine behavior is a standard CGI Studio behavior which allows to configure a state machine instance. The associated state machine will receive all the events of the associated node and could trigger further actions as they are defined in the state machine.
