public AbsFsmState(FsmMachine machine, string name) { _name = name; _entity = machine.Entity; _machine = machine; _lastState = null; _nextState = null; _triggerTrans = null; _toTransitionList.Clear(); }
public AbsFsmTransition(FsmMachine machine, string name) { _name = name; _entity = machine.Entity; _machine = machine; _transState = FsmTransitionStateEnum.Transing; _transitionHandler = null; _formState = null; _toState = null; }
public FsmTransitionStateEnum ExcuteTrans(AbsFsmState formState, AbsFsmState toState) { _formState = formState; _toState = toState; if (ExcuteTransEx() == FsmTransitionStateEnum.Transing) { return(FsmTransitionStateEnum.Transing); } if (TransitionHandler != null) { TransitionHandler(_formState, _toState); } return(FsmTransitionStateEnum.Finish); }
protected abstract void OnExitStateEx(AbsFsmState nextState);
public virtual void OnExitState(AbsFsmState nextState) { _nextState = nextState; OnExitStateEx(nextState); _machine.CurrentState = nextState; }
protected abstract void OnEnterStateEx(AbsFsmState lastState);
public void OnEnterState(AbsFsmState lastState) { _lastState = lastState; OnEnterStateEx(lastState); }