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)); }
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); }