public StateHandler(ZhengBaStateMachine.StateType state, Action <DateTime> enter, Action <DateTime> updater, Action <DateTime> leaver) { this.State = state; this.enterAction = enter; this.updateAction = updater; this.leaveAction = leaver; }
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); } }