コード例 #1
0
 private void CheckTransitions(IFiniteStateMachineContext <State> context) => transitions.ForEach(transition =>
 {
     if (transition.decision.Decide(context))
     {
         context.TransitionToState(transition.trueState);
     }
 });
コード例 #2
0
ファイル: StateTests.cs プロジェクト: aallbrig/unity-tools
 public override bool Decide(IFiniteStateMachineContext <State> context) => true;
コード例 #3
0
 public override bool Decide(IFiniteStateMachineContext <State> context) => Input.GetKeyDown(keyCode);
コード例 #4
0
 public override bool Decide(IFiniteStateMachineContext <State> context) => throw new NotImplementedException();
コード例 #5
0
ファイル: Decision.cs プロジェクト: aallbrig/unity-tools
 public abstract bool Decide(IFiniteStateMachineContext <State> context);
コード例 #6
0
 public abstract void Act(IFiniteStateMachineContext <State> context);
コード例 #7
0
 public void UpdateState(IFiniteStateMachineContext <State> context)
 {
     updateActions.ForEach(action => action.Act(context));
     CheckTransitions(context);
 }
コード例 #8
0
 public void LeaveState(IFiniteStateMachineContext <State> context) =>
 leaveActions.ForEach(action => action.Act(context));
コード例 #9
0
 public void StartState(IFiniteStateMachineContext <State> context) =>
 startActions.ForEach(action => action.Act(context));
コード例 #10
0
 public override void Act(IFiniteStateMachineContext <State> context) => gameEvent.Broadcast();
コード例 #11
0
 public override void Act(IFiniteStateMachineContext <State> context) => targetBoolVar.value = boolRef.Value;
コード例 #12
0
 public override void Act(IFiniteStateMachineContext <State> context) => gameObjectRuntimeSet.list.Clear();
コード例 #13
0
 public override void Act(IFiniteStateMachineContext <State> context)
 {
 }