public Map(MapConfig mapConfig, List <Coord> obstacles, List <Coord> enemies, Coord startCoord, Coord finishCoord) { var tankGenerator = new TankGenerator(mapConfig); Width = mapConfig.Width; Height = mapConfig.Height; FireArea = mapConfig.FireArea; ViewArea = mapConfig.ViewArea; Obstacles = obstacles; StartCoord = startCoord; FinishCoord = finishCoord; Tank = tankGenerator.RandomizeTank(startCoord); Enemies = enemies.Select(tankGenerator.RandomizeTank).ToList(); }
/// <summary> /// Begins the game. /// </summary> /// <param name="lobbyData">The lobby data.</param> public void BeginGame(Lobby lobbyData) { World = new World(); World.Map = lobbyData.Map; World.Health = lobbyData.Health; World.Wind = lobbyData.Wind; World.TurnTimer = lobbyData.TurnTimer; World.Gravity = lobbyData.Gravity; IsGameRunning = true; // Generate a tank for each player. TankGenerator tankGenerator = new TankGenerator(); Players.ForEach(player => player.Tank = tankGenerator.GenerateTank(player.TankSettings)); Players.ForEach(player => player.IsInActiveGame = true); }