Example #1
0
 // 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;
             }
         }
     }
 }
Example #2
0
    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;
                }
            }
        }
    }