// add spawn area and re-adjust probabilitites for new list of spawn pads public void Add(FoodSpawnPad foodSpawnPad) { spawnPads.Add(foodSpawnPad); // remove all items in probabilities list to reset probabilities.RemoveRange(0, probabilities.Count); int[] prevProb = null; // previous spawn pad in loop for (int i = 0; i < spawnPads.Count; i++) // loop through all spawn pads to readjust area { FoodSpawnPad spawnPad = spawnPads[i]; // get current probability // get probability for spawn pad double probability = 0.005 + (double)spawnPad.Bounds.Width * (double)spawnPad.Bounds.Height / (double)Area; int percent = (int)(probability * 100); // get percent from probability int[] probRange; if (prevProb == null) // if null, this is the first spawn pad in the list { // make array to represent probability range (in percents) probRange = new int[] { 1, percent }; } else { probRange = new int[] { prevProb[1] + 1, prevProb[1] + percent }; } probabilities.Add(probRange);// add it to the probabilities list prevProb = probRange; } }
public void AddFoodSpawner(FoodSpawnPad spawnPad) // any food spawner inputted here will be run by the game engine { foodSpawners.Add(spawnPad); }