Exemple #1
0
        private static void MessageReceived(object serverObject)
        {
            NetClient          server  = (NetClient)serverObject;
            NetIncomingMessage message = server.ReadMessage();

            switch (message.MessageType)
            {
            case NetIncomingMessageType.VerboseDebugMessage:
                break;

            case NetIncomingMessageType.DebugMessage:
                break;

            case NetIncomingMessageType.WarningMessage:
                break;

            case NetIncomingMessageType.ErrorMessage:
                break;

            case NetIncomingMessageType.ConnectionApproval:
                break;

            case NetIncomingMessageType.StatusChanged:
                switch ((NetConnectionStatus)message.ReadByte())
                {
                case NetConnectionStatus.Connected:
                    game.SuccessfullyConnected();
                    break;
                }
                break;

            case NetIncomingMessageType.Data:
                NetworkCommand command = (NetworkCommand)message.ReadByte();

                switch (command)
                {
                case NetworkCommand.CreatePlayer:
                    CreatePlayer(message);
                    break;

                case NetworkCommand.RemovePlayer:
                    RemovePlayer(message);
                    break;

                case NetworkCommand.FullyUpdatePlayer:
                    FullyUpdatePlayer(message);
                    break;

                case NetworkCommand.SetPlayerPositionVelocity:
                    SetPlayerPositionVelocity(message);
                    break;

                case NetworkCommand.Alert:
                    Alert.Create(message.ReadString());
                    // TO DO: Implement duration
                    break;
                }
                break;

            default:
                break;
            }

            Client.Recycle(message);
        }