public void OnEvent(CEvent evt) { switch (evt.GetEventId()) { case EGameEvent.eGameEvent_Loading: { GameStateType stateType = (GameStateType)evt.GetParam("NextState"); LoadingState lState = GameStateManager.Instance.getState(GameStateType.GS_Loading) as LoadingState; lState.SetNextState(stateType); lState.SetFrontScenes(View.EScenesType.EST_Play); SetStateTo(GameStateType.GS_Loading); } break; case EGameEvent.eGameEvent_IntoRoom: { LoadingState lState = GameStateManager.Instance.getState(GameStateType.GS_Loading) as LoadingState; lState.SetNextState(GameStateType.GS_Room); lState.SetFrontScenes(View.EScenesType.EST_Play); SetStateTo(GameStateType.GS_Loading); } break; case EGameEvent.eGameEvent_IntoLobby: { LoadingState lState = GameStateManager.Instance.getState(GameStateType.GS_Loading) as LoadingState; lState.SetNextState(GameStateType.GS_Lobby); lState.SetFrontScenes(View.EScenesType.EST_Play); SetStateTo(GameStateType.GS_Loading); } break; } }
public GameStateManager() { gameStates = new Dictionary <GameStateType, IGameState>(); IGameState gameState; gameState = new LoginState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new UserState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new LobbyState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new RoomState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new HeroState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new LoadingState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new PlayState(); gameStates.Add(gameState.GetStateType(), gameState); gameState = new OverState(); gameStates.Add(gameState.GetStateType(), gameState); }
private void SdkLogOff() { GameMethod.LogOutToLogin(); LoadingState lState = GameStateManager.Instance.getState(GameStateType.GS_Loading) as LoadingState; lState.SetNextState(GameStateType.GS_Login); lState.SetFrontScenes(View.EScenesType.EST_Play); SetStateTo(GameStateType.GS_Loading); }