public void DrawMap()
    {
        MapData mapData = GenerateMapData(Vector2.zero);

        MapDisplay mapDisplay = FindObjectOfType <MapDisplay>();

        switch (drawMode)
        {
        default:
        case DrawMode.NoiseMap:
            mapDisplay.DrawTexture(TextureGenerator.FromHeightMap(mapData.heightMap));
            break;

        case DrawMode.ColorMap:
            mapDisplay.DrawTexture(TextureGenerator.FromColorMap(mapData.colorMap, mapChunkSize, mapChunkSize));
            break;

        case DrawMode.FalloffMap:
            mapDisplay.DrawTexture(TextureGenerator.FromHeightMap(FalloffMapGenerator.GenerateFalloffMap(mapChunkSize)));
            break;

        case DrawMode.Mesh:
            mapDisplay.DrawMesh(
                MeshGenerator.GenerateTerrainMeshData(mapData.heightMap, terrainData.meshHeightMultiplier, terrainData.meshHeightCurve, editorLevelOfDetail, terrainData.applyFlatShading),
                TextureGenerator.FromColorMap(mapData.colorMap, mapChunkSize, mapChunkSize)
                );
            break;
        }
    }