Example #1
0
        private static void setupDTOs(PlayerDTO playerDTO, IList <PlayerDTO> opponentDTOs, IList <ResourceDTO> resourceDTOs)
        {
            // create the player
            IMoveable playerShip = PlayerAdapter.playerDTOToMoveable(playerDTO, Colors.Black);

            playerShip.Mover = new MoveStrategy();
            UIDispatcher.Invoke(() => { Player = new Player(Username, UserID, playerDTO.Wallet, playerDTO.Health, playerShip); });

            // convert data transfer objects to their respective types and add them to list
            foreach (PlayerDTO opponent in opponentDTOs)
            {
                IMoveable moveable = PlayerAdapter.playerDTOToMoveable(opponent, Colors.Red);
                while (!Opponents.TryAdd(opponent.Name, moveable))
                {
                    Task.Delay(1);
                }
            }
            foreach (ResourceDTO resource in resourceDTOs)
            {
                IResource r = ResourceAdapter.DTOToResource(resource);
                while (!Resources.TryAdd(resource.ID, r))
                {
                    Task.Delay(1);
                }
            }
        }