public void Tick(DateTime now, int param) { KuaFuLueDuoStateMachine.StateHandler handler = this.Handlers[(int)this._CurrState]; if (handler != null) { handler.Update(now, param); } }
public void SetCurrState(KuaFuLueDuoStateMachine.StateType state, DateTime now, int param) { KuaFuLueDuoStateMachine.StateHandler oldHandler = this.Handlers[(int)this._CurrState]; if (oldHandler != null) { oldHandler.Leave(now, param); } this._CurrState = state; KuaFuLueDuoStateMachine.StateHandler newHandler = this.Handlers[(int)this._CurrState]; this._CurrStateEnterTicks = now.Ticks; if (newHandler != null) { newHandler.Enter(now, param); } }
public void Install(KuaFuLueDuoStateMachine.StateHandler handler) { this.Handlers[(int)handler.State] = handler; }