コード例 #1
0
 // 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;
     }
 }
コード例 #2
0
 public void AddFoodSpawner(FoodSpawnPad spawnPad) // any food spawner inputted here will be run by the game engine
 {
     foodSpawners.Add(spawnPad);
 }