Exemple #1
0
 public AbsFsmState(FsmMachine machine, string name)
 {
     _name         = name;
     _entity       = machine.Entity;
     _machine      = machine;
     _lastState    = null;
     _nextState    = null;
     _triggerTrans = null;
     _toTransitionList.Clear();
 }
Exemple #2
0
 public AbsFsmTransition(FsmMachine machine, string name)
 {
     _name              = name;
     _entity            = machine.Entity;
     _machine           = machine;
     _transState        = FsmTransitionStateEnum.Transing;
     _transitionHandler = null;
     _formState         = null;
     _toState           = null;
 }
Exemple #3
0
 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);
 }
Exemple #4
0
 protected abstract void OnExitStateEx(AbsFsmState nextState);
Exemple #5
0
 public virtual void OnExitState(AbsFsmState nextState)
 {
     _nextState = nextState;
     OnExitStateEx(nextState);
     _machine.CurrentState = nextState;
 }
Exemple #6
0
 protected abstract void OnEnterStateEx(AbsFsmState lastState);
Exemple #7
0
 public void OnEnterState(AbsFsmState lastState)
 {
     _lastState = lastState;
     OnEnterStateEx(lastState);
 }