Esempio n. 1
0
        public static void HandleMoveRessource(int fromClient, Packet packet)
        {
            int clientIDCheck = packet.ReadInt();

            if (fromClient != clientIDCheck)
            {
                Console.WriteLine($"Player with ID: \"{fromClient}\" has assumed the wrong client ID: \"{clientIDCheck}\"!");
            }

            HexCoordinates originCoordinates      = packet.ReadHexCoordinates();
            HexCoordinates destinationCoordinates = packet.ReadHexCoordinates();
            RessourceType  ressourceType          = (RessourceType)packet.ReadByte();
            int            amount = packet.ReadInt();
            Player         player = Server.clients[fromClient].Player;

            if (GameLogic.PlayerInRange(originCoordinates, player) || GameLogic.PlayerInRange(destinationCoordinates, player))
            {
                if (GameLogic.MoveRessources(originCoordinates, destinationCoordinates, ressourceType, amount))
                {
                    ServerSend.BroadcastMoveRessources(originCoordinates, destinationCoordinates, ressourceType, amount);
                }
            }
        }