// Use this for initialization void Start() { chunkGenerator = transform.root.gameObject.GetComponent <GenerateChunk>(); SIZE = 100; firstChunk = this.gameObject.transform.GetChild(0).gameObject; for (int z = 0; z < terrainSize; z++) { for (int x = 0; x < terrainSize; x++) { if (z + x != 0) { GameObject newChunk = Instantiate(firstChunk); newChunk.name = "Chunk " + (z * terrainSize + x); newChunk.transform.Translate(new Vector3(x * SIZE, 0, -z * SIZE)); newChunk.transform.parent = this.gameObject.transform; } } } }
void SetBiome(GenerateChunk _newChunk) { int startNewBiome = Random.Range(0, BiomeSize); int nextBiomeType = Random.Range(1, 100); if (_newChunk.chunkID == 0) { //First Chunk previousBiomeType = startBiomeType; _newChunk.biomeType = startBiomeType; } else { if (startNewBiome >= sameBiome) { sameBiome = sameBiome + 1; //Continue Old Biome _newChunk.biomeType = previousBiomeType; } else { //Start New Biome sameBiome = 0; if (nextBiomeType > 1 && nextBiomeType < 10) { _newChunk.biomeType = TileTypes.BiomeType.Desert; previousBiomeType = TileTypes.BiomeType.Desert; } else if (nextBiomeType > 9 && nextBiomeType < 20) { _newChunk.biomeType = TileTypes.BiomeType.Ocean; previousBiomeType = TileTypes.BiomeType.Ocean; } else if (nextBiomeType > 19 && nextBiomeType < 30) { _newChunk.biomeType = TileTypes.BiomeType.Snow; previousBiomeType = TileTypes.BiomeType.Snow; } else if (nextBiomeType > 29 && nextBiomeType < 40) { _newChunk.biomeType = TileTypes.BiomeType.Mountain; previousBiomeType = TileTypes.BiomeType.Mountain; } else if (nextBiomeType > 39 && nextBiomeType < 50) { _newChunk.biomeType = TileTypes.BiomeType.Tundra; previousBiomeType = TileTypes.BiomeType.Tundra; } else if (nextBiomeType > 49 && nextBiomeType < 80) { _newChunk.biomeType = TileTypes.BiomeType.Plains; previousBiomeType = TileTypes.BiomeType.Plains; } else if (nextBiomeType > 79 && nextBiomeType < 101) { _newChunk.biomeType = TileTypes.BiomeType.Forest; previousBiomeType = TileTypes.BiomeType.Forest; } } } }