public void Add(BlackHole item) { Debug.Assert(item != null, "item is null."); BlackHoleList.Add(item); EntityList.Add(item); GravityPointList.Add(item); }
/// <summary> /// Create a new game, using the provided configuration parameters /// </summary> /// <param name="mapType">The map type</param> /// <param name="mapSize">Size of the map</param> /// <param name="numberOfPlayers">Number of players</param> /// <param name="killLimit">Number of kills needed for a player to win the game</param> /// <param name="numberPlanets">Number of randomly generated planets</param> /// <param name="numberBlackHoles">Number of randomly generated black holes</param> public void CreateNewGame(MapType mapType, MapSize mapSize, int numberOfPlayers, int killLimit, int numberPlanets, int numberBlackHoles) { Weapon.GlobalReloadTimeMultiplier = 1; GameOver = false; KillLimit = killLimit; this.numberPlanets = numberPlanets; this.numberBlackHoles = numberBlackHoles; int[] size = Utility.MapSizeToInts(mapSize); Terrain terrain; if (mapType == MapType.Simple) { terrain = new SimpleTerrain(size[0], size[1]); } else { terrain = new RandomTerrain(size[0], size[1]); } NewGame(terrain, rand.Next(2000)); /* Choose a background image */ RandomizeBackground(); /* Add planets */ for (int i = 0; i < numberPlanets; i++) { Planet planet = new Planet(0.03f, 0.03f, 0.3f, 1.0f); PlaceEntity(planet); Add(planet); } /* Add black holes */ for (int i = 0; i < numberBlackHoles; i++) { BlackHole blackHole = new BlackHole(1000, 4000); PlaceEntity(blackHole); Add(blackHole); } /* init players */ InitPlayers(numberOfPlayers); }