コード例 #1
0
ファイル: SO_State.cs プロジェクト: luckkiss/FoodIsLove
 private void CheckTransitions(PluggableStateMachine pluggableStateMachine)
 {
     foreach (var transition in _Transitions)
     {
         transition.CheckAndTransition(pluggableStateMachine);
     }
 }
コード例 #2
0
ファイル: SO_State.cs プロジェクト: luckkiss/FoodIsLove
 private void DoActions(SO_AAction[] actionsToDo, PluggableStateMachine pluggableStateMachine)
 {
     foreach (SO_AAction action in actionsToDo)
     {
         action.Act(pluggableStateMachine);
     }
 }
コード例 #3
0
ファイル: Transition.cs プロジェクト: luckkiss/FoodIsLove
        public void CheckAndTransition(PluggableStateMachine pluggableStateMachine)
        {
            foreach (var decision in _Decisions)
            {
                if (decision.Decide(pluggableStateMachine) == false)
                {
                    pluggableStateMachine.ChangeState(_FalseState);
                    return;
                }

                pluggableStateMachine.ChangeState(_TrueState);
            }
        }
コード例 #4
0
ファイル: SO_State.cs プロジェクト: luckkiss/FoodIsLove
 public void ExitState(PluggableStateMachine pluggableStateMachine)
 {
     DoActions(ExitActions, pluggableStateMachine);
 }
コード例 #5
0
ファイル: SO_State.cs プロジェクト: luckkiss/FoodIsLove
 public void UpdateState(PluggableStateMachine pluggableStateMachine)
 {
     DoActions(UpdateActions, pluggableStateMachine);
     CheckTransitions(pluggableStateMachine);
 }
コード例 #6
0
ファイル: SO_State.cs プロジェクト: luckkiss/FoodIsLove
 public void EnterState(PluggableStateMachine pluggableStateMachine)
 {
     DoActions(EnterActions, pluggableStateMachine);
 }
コード例 #7
0
ファイル: SO_AAction.cs プロジェクト: luckkiss/FoodIsLove
 public abstract void Act(PluggableStateMachine pluggableStateMachine);
コード例 #8
0
 public abstract bool Decide(PluggableStateMachine pluggableStateMachine);