public bool IsState(GAMESTATE_TYPE eState) { if (m_eCurState == eState) { return(true); } return(false); }
//是否在当前状态 public bool IsState(GAMESTATE_TYPE eState) { if (m_StateProxy == null) { return(false); } return(m_StateProxy.IsState(eState)); }
//返回是否有切换 public bool EnterState(GAMESTATE_TYPE eState = GAMESTATE_TYPE.GAMESTATE_NONE) { if (m_StateProxy == null) { return(false); } //退出前一状态 m_StateProxy.ExitState(); //创建新状态 m_StateProxy.SwitchStateByState(eState); //进入新状态 m_StateProxy.EnterState(); return(true); }
//选择状态 public IVLState SwitchStateByState(GAMESTATE_TYPE eStateType) { m_eCurState = eStateType; switch (eStateType) { case GAMESTATE_TYPE.GAMESTATE_LOADING: m_curState = new VLState_Loading(); break; case GAMESTATE_TYPE.GAMESTATE_PLAY: m_curState = new VLState_Play(); break; default: m_curState = new VLState_Base(); m_eCurState = GAMESTATE_TYPE.GAMESTATE_NONE; break; } return(m_curState); }