Ejemplo n.º 1
0
    public void DrawnMapGeneration()
    {
        Color[] colourMap = new Color[mWidth * mHeight];
        float[,] noiseMap = ScriptMap.NoiseMapGen(mWidth, mHeight, seed, octaves,
                                                  lacunarity, persistance, scale, offset);

        for (int i = 0; i < mHeight; i++)
        {
            for (int j = 0; j < mWidth; j++)
            {
                float currentHeight = noiseMap[j, i];

                for (int k = 0; k < terrains.Length; k++)
                {
                    if (currentHeight <= terrains[k].terrainHeight)
                    {
                        colourMap[i * mWidth + j] = terrains[k].terrainColour;
                        break;
                    }
                }
            }
        }

        MapDisplayGen mapCanvas = FindObjectOfType <MapDisplayGen>();

        if (drawMode == DrawMode.noiseMap)
        {
            mapCanvas.DrawTexMap(TextGen.textHeightMap(noiseMap));
        }

        else if (drawMode == DrawMode.colourMap)
        {
            mapCanvas.DrawTexMap(TextGen.textColourMap(colourMap, mWidth, mHeight));
        }
    }