public StateHandler(BHMatchStateMachine.StateType state, Action <DateTime, int> enter, Action <DateTime, int> updater, Action <DateTime, int> leaver) { this.State = state; this.enterAction = enter; this.updateAction = updater; this.leaveAction = leaver; }
public void SetCurrState(BHMatchStateMachine.StateType state, DateTime now, int param) { BHMatchStateMachine.StateHandler oldHandler = this.Handlers[(int)this._CurrState]; if (oldHandler != null) { oldHandler.Leave(now, param); } this._CurrState = state; BHMatchStateMachine.StateHandler newHandler = this.Handlers[(int)this._CurrState]; this._CurrStateEnterTicks = now.Ticks; if (newHandler != null) { newHandler.Enter(now, param); } }