private Spawns[,] GetSpawns(int gridsX, int gridsZ) { Spawns[,] gridSpawnArray = new Spawns[gridsZ, gridsX]; bool magnetSpawned = false; for (int z = 0; z < gridSpawnArray.GetLength(0); z++) { int chance = Random.Range(0, totalChance); Spawns spawn = GetSpawnByChance(chance); for (int x = 0; x < gridSpawnArray.GetLength(1); x++) { if (coinSpawnType == CoinSpawn.Line && spawn == Spawns.Coin) { gridSpawnArray[z, x] = spawn; } else if (coinSpawnType != CoinSpawn.Line && x > 0) { chance = Random.Range(0, totalChance); spawn = GetSpawnByChance(chance); if (spawn == Spawns.Magnet) { if (magnetSpawned) { spawn = Spawns.None; } else { magnetSpawned = true; } } gridSpawnArray[z, x] = spawn; } else if (spawn == Spawns.Magnet) { if (magnetSpawned) { spawn = Spawns.None; } else { gridSpawnArray[z, x] = spawn; magnetSpawned = true; } } } } return(gridSpawnArray); }