Blaze.Server.UpdateMeshConnectionCommand.HandleRequest C# (CSharp) Method

HandleRequest() public static method

public static HandleRequest ( Request request ) : void
request Request
return void
        public static void HandleRequest(Request request)
        {
            Log.Info(string.Format("Client {0} updating mesh connection", request.Client.ID));

            var gameID = (TdfInteger)request.Data["GID"];

            var targ = (TdfList)request.Data["TARG"];
            var targData = (List<Tdf>)targ.List[0];
            var playerID = (TdfInteger)targData[1];
            var stat = (TdfInteger)targData[2];

            request.Reply();

            if (stat.Value == 2)
            {
                if (request.Client.Type == ClientType.GameplayUser)
                {
                    GamePlayerStateChangeNotification.Notify(request.Client, gameID.Value, request.Client.User.ID);
                    PlayerJoinCompletedNotification.Notify(request.Client, gameID.Value, request.Client.User.ID);
                }
                else if (request.Client.Type == ClientType.DedicatedServer)
                {
                    GamePlayerStateChangeNotification.Notify(request.Client, gameID.Value, playerID.Value);
                    PlayerJoinCompletedNotification.Notify(request.Client, gameID.Value, playerID.Value);
                }
            }
            else if (stat.Value == 0)
            {
                if (request.Client.Type == ClientType.GameplayUser)
                {
                    var game = GameManager.Games[gameID.Value];
                    game.Slots.Remove(playerID.Value);

                    PlayerRemovedNotification.Notify(request.Client, playerID.Value);
                }
                else if (request.Client.Type == ClientType.DedicatedServer)
                {
                    var game = GameManager.Games[gameID.Value];
                    game.Slots.Remove(playerID.Value);

                    PlayerRemovedNotification.Notify(request.Client, playerID.Value);
                }
            }
        }
    }

Usage Example

Example #1
0
        public static void HandleRequest(Request request)
        {
            switch (request.CommandID)
            {
            case 1:
                CreateGameCommand.HandleRequest(request);
                break;

            case 2:
                Log.Warn("DESTROY GAME");
                break;

            case 3:
                AdvanceGameStateCommand.HandleRequest(request);
                break;

            case 4:
                SetGameSettingsCommand.HandleRequest(request);
                break;

            case 5:
                SetPlayerCapacityCommand.HandleRequest(request);
                break;

            case 7:
                SetGameAttributesCommand.HandleRequest(request);
                break;

            case 9:
                JoinGameCommand.HandleRequest(request);
                break;

            case 0xB:
                Log.Warn("*GameManager->HandleRemovePlayerCommand*");
                //HandleRemovePlayerCommand(clientId, request, stream);
                break;

            case 0xF:
                FinalizeGameCreationCommand.HandleRequest(request);
                break;

            case 0x1D:
                UpdateMeshConnectionCommand.HandleRequest(request);
                break;

            case 0x27:
                UpdateGameNameCommand.HandleRequest(request);
                break;

            default:
                Log.Warn(string.Format("Unhandled request: {0} {1}", request.ComponentID, request.CommandID));
                break;
            }
        }
UpdateMeshConnectionCommand