public void OnSwitchClientState(object sender, EventArgs arg) { GameEvtArg garg = arg as GameEvtArg; if (garg != null) { EGAME_STATE_TYPE state = (EGAME_STATE_TYPE)garg.databuf.ReadByte(); //如有需要做一些特別處理 switch (state) { case EGAME_STATE_TYPE.EGAME_STATE_GAME: { } break; case EGAME_STATE_TYPE.EGAME_STATE_MENU: { } break; default: { } break; } SwitchGameState(state); m_curState.OnStateBegin(); } }
public override void Initialize() { base.Initialize(); RegisterClientEvt(); m_curState = new GameMenuState(); m_curState.OnStateBegin(); }
public void UpdateGameState() { if (m_curState == null) { return; } if (m_curState.IsRunning == false) { m_curState.OnStateBegin(); } m_curState.OnStateUpdate(); }