/// <summary> /// Calculates number of SpawnItems per SpawnEvent, and the spawn grid size. /// Then give this information to the Spawn System. /// </summary> private void SetSpawnGridSize(BiomeConditions biome) { // SpawnChunkiness of 0 means one item per spawn event, // SpawnChunkiness of 1 means one spawnBagSize per spawn event, int spawnEventCount = (int)(1 + (biome.SpawnChunkiness * (spawnBagSize - 1))); // Assuming constant SpawnRateMultiplier, then SpawnChunkiness will not change overall density // Increase in SpawnRateMultiplier lowers the gridSize, which increases density // SpawnRateMultiplier of 2.0 will double the spawn density. int spawnGridSize = (int)(Constants.SPAWN_GRID_SIZE * Math.Sqrt(spawnEventCount) / Math.Sqrt(biome.SpawnRateMultiplier)); spawnSystem.SetSpawnData(spawnEventCount, spawnGridSize, biome.SpawnRateMultiplier); }