示例#1
0
 private void CheckTransitions(IFiniteStateMachineContext <State> context) => transitions.ForEach(transition =>
 {
     if (transition.decision.Decide(context))
     {
         context.TransitionToState(transition.trueState);
     }
 });
示例#2
0
 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
 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)
 {
 }