private void Handle_Start_Browse_Lobby_Response( CStartBrowseLobbyResponse response )
        {
            Clear_Lobbies();

            switch ( response.Result )
            {
                case EStartBrowseResult.AutoJoined:
                    State = EClientBrowseState.None;
                    break;

                case EStartBrowseResult.Success:
                    State = EClientBrowseState.Browse_Idle;
                    response.LobbySummaries.Apply( summary => Add_Summary( summary ) );

                    CClientResource.Output_Text< EClientTextID >( EClientTextID.Client_Browse_Start_Success );
                    break;

                case EStartBrowseResult.Invalid_State:
                    State = EClientBrowseState.None;
                    CClientResource.Output_Text< EClientTextID >( EClientTextID.Client_Browse_Start_Invalid_State );
                    break;

                default:
                    State = EClientBrowseState.None;
                    break;
            }
        }
 private void Handle_Start_Browse_Lobby_Command( CStartBrowseLobbySlashCommand command )
 {
     CClientLogicalThread.Instance.Send_Message_To_Server( new CStartBrowseLobbyRequest( command.GameModes, command.MemberTypes, command.JoinFirstAvailable ) );
     State = EClientBrowseState.Starting;
 }
        private void Handle_Cursor_Browse_Lobby_Response( CCursorBrowseLobbyResponse response )
        {
            switch ( response.Result )
            {
                case ECursorBrowseResult.Not_Browsing:
                    CClientResource.Output_Text< EClientTextID >( EClientTextID.Client_Browse_Cursor_Not_Browsing );
                    break;

                case ECursorBrowseResult.End_Of_Cursor:
                    break;

                case ECursorBrowseResult.Success:
                    Clear_Lobbies();
                    response.LobbySummaries.Apply( summary => Add_Summary( summary ) );
                    break;
            }

            State = EClientBrowseState.Browse_Idle;
        }
 private void Handle_End_Browse_Lobby_Command( CEndBrowseLobbySlashCommand command )
 {
     if ( State != EClientBrowseState.None )
     {
         CClientLogicalThread.Instance.Send_Message_To_Server( new CEndBrowseLobbyMessage() );
     }
     State = EClientBrowseState.None;
 }
 private void Handle_Browse_Previous_Lobby_Command( CBrowsePreviousLobbySetSlashCommand command )
 {
     if ( State == EClientBrowseState.Browse_Idle )
     {
         State = EClientBrowseState.Browse_Moving;
         CClientLogicalThread.Instance.Send_Message_To_Server( new CBrowsePreviousLobbySetRequest() );
     }
 }