Exemple #1
0
        private Task HandleUpdate(DatagramSocket socket, NetworkPacket packet)
        {
            if (packet != null)
            {
                switch (packet.Type)
                {
                case PacketType.Entity:
                    _updateQueue.Add(packet as EntityPacket);
                    break;

                case PacketType.GameServerDataUpdate:
                    GameServerDataUpdate update = packet as GameServerDataUpdate;
                    _playerList = update.PlayerList;
                    _gameData   = update.GameData;
                    break;

                case PacketType.ShipCommand:
                    _gameInstance.GameModel.InputManager.ProcessRemoteInput(packet as ShipCommand);
                    break;

                case PacketType.DeadEntities:
                    DeadEntitiesPacket newlyDead = packet as DeadEntitiesPacket;
                    _updateQueue._deadEntities.AddRange(newlyDead.EntityList);
                    break;
                }
            }
            return(Task.Delay(0));
        }
Exemple #2
0
        private async Task <NetworkPacket> HandleRequest(StreamSocket socket, NetworkPacket packet)
        {
            AcknowledgePacket acknowledge = new Network.AcknowledgePacket();

            if (packet != null)
            {
                switch (packet.Type)
                {
                case PacketType.DeadEntities:
                    DeadEntitiesPacket newlyDead = packet as DeadEntitiesPacket;
                    _updateQueue._deadEntities.AddRange(newlyDead.EntityList);
                    break;
                }
            }
            await Task.Delay(0);

            return(acknowledge);
        }