private void CheckTransitions(IFiniteStateMachineContext <State> context) => transitions.ForEach(transition => { if (transition.decision.Decide(context)) { context.TransitionToState(transition.trueState); } });
public override bool Decide(IFiniteStateMachineContext <State> context) => true;
public override bool Decide(IFiniteStateMachineContext <State> context) => Input.GetKeyDown(keyCode);
public override bool Decide(IFiniteStateMachineContext <State> context) => throw new NotImplementedException();
public abstract bool Decide(IFiniteStateMachineContext <State> context);
public abstract void Act(IFiniteStateMachineContext <State> context);
public void UpdateState(IFiniteStateMachineContext <State> context) { updateActions.ForEach(action => action.Act(context)); CheckTransitions(context); }
public void LeaveState(IFiniteStateMachineContext <State> context) => leaveActions.ForEach(action => action.Act(context));
public void StartState(IFiniteStateMachineContext <State> context) => startActions.ForEach(action => action.Act(context));
public override void Act(IFiniteStateMachineContext <State> context) => gameEvent.Broadcast();
public override void Act(IFiniteStateMachineContext <State> context) => targetBoolVar.value = boolRef.Value;
public override void Act(IFiniteStateMachineContext <State> context) => gameObjectRuntimeSet.list.Clear();
public override void Act(IFiniteStateMachineContext <State> context) { }