public override void OnReceiveSessionMessage(ServerSessionMessage message)
        {
            switch (message.GetMessageType())
            {
            case ServerMessageType.START_SERVER_SESSION:
                GameSessionManager.OnStartServerSessionMessageReceived((StartServerSessionMessage)message);
                break;

            case ServerMessageType.STOP_SERVER_SESSION:
                GameSessionManager.OnStopServerSessionMessageReceived((StopServerSessionMessage)message);
                break;

            case ServerMessageType.UPDATE_SOCKET_SERVER_SESSION:
                GameMessageManager.OnUpdateSocketServerSessionMessageReceived((UpdateSocketServerSessionMessage)message);
                break;

            case ServerMessageType.FORWARD_LOGIC_MESSAGE:
                GameMessageManager.OnForwardLogicMessageReceived((ForwardLogicMessage)message);
                break;

            case ServerMessageType.FORWARD_LOGIC_REQUEST_MESSAGE:
                GameMessageManager.OnForwardLogicMessageRequestMessageReceived((ForwardLogicRequestMessage)message);
                break;

            case ServerMessageType.CHANGE_GAME_STATE:
                GameMessageManager.OnChangeGameStateMessageReceived((ChangeGameStateMessage)message);
                break;

            case ServerMessageType.GAME_MATCHMAKING:
                GameMessageManager.OnGameMatchmakingMessageReceived((GameMatchmakingMessage)message);
                break;

            case ServerMessageType.GAME_MATCHMAKING_RESULT:
                GameMatchmakingManager.OnGameMatchmakingResultMessageReceived((GameMatchmakingResultMessage)message);
                break;

            case ServerMessageType.GAME_START_FAKE_ATTACK:
                GameMessageManager.OnGameStartFakeAttackMessageReceived((GameStartFakeAttackMessage)message);
                break;

            case ServerMessageType.GAME_FRIENDLY_SCOUT:
                GameMessageManager.OnGameFriendlyScoutMessageReceived((GameFriendlyScoutMessage)message);
                break;

            case ServerMessageType.GAME_SPECTATE_LIVE_REPLAY:
                GameMessageManager.OnGameSpectateLiveReplayMessageReceived((GameSpectateLiveReplayMessage)message);
                break;
            }
        }