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