public void Initialize(OreStore oreStore, OresSettings oresSettings, OreStoreWindowController storeWindow) { this.oreStore = oreStore; this.oresSettings = oresSettings; this.storeWindow = storeWindow; }
public TileProject[,] GenerateOres(int mapSizeX, int mapSizeY, int surfaceLevel, int bedrockSize, OresSettings oresSettings, TileMap groundPrefab) { OreToSpawn ore; tempTiles = new TileProject[mapSizeX, mapSizeY]; for (int i = 0; i < oresSettings.ores.Count; i++) { ore = new OreToSpawn(); ore.ore = oresSettings.ores[i].oreType; ore.settings = oresSettings.ores[i].smallGroup; ore.groupSize = 0; ore.CalculateChances(); waitingOres.Add(ore); ore = new OreToSpawn(); ore.ore = oresSettings.ores[i].oreType; ore.settings = oresSettings.ores[i].mediumGroup; ore.groupSize = 1; ore.CalculateChances(); waitingOres.Add(ore); ore = new OreToSpawn(); ore.ore = oresSettings.ores[i].oreType; ore.settings = oresSettings.ores[i].largeGroup; ore.groupSize = 2; ore.CalculateChances(); waitingOres.Add(ore); } for (int i = surfaceLevel + 1; i < mapSizeY - bedrockSize; i++) { CheckAvailability(i); for (int j = bedrockSize; j < mapSizeX - bedrockSize; j++) { for (int k = 0; k < readyOres.Count; k++) { if (Randomize(readyOres[k].chancesPerRow[i]) && tempTiles[j, i] == null) { SpawnGroup(j, i, readyOres[k]); break; } } } } return(tempTiles); }