public void GenerateMap()
    {
        MapVisualizer mv = GetComponent <MapVisualizer>();

        float[,] noiseMap = GeneratePerlinNoiseMap(seed, offset, chunkSize, noiseScale, octaves, persistance, lacunarity);


        if (drawMode == DrawMode.NoiseMap)
        {
            Texture2D tex = mv.GenerateTexture(mv.GenerateNoiseColorMap(noiseMap), chunkSize);
            mv.PlaneVisualizer(tex);
        }
        else if (drawMode == DrawMode.ColorMap)
        {
            Texture2D tex = mv.GenerateTexture(mv.GenerateDepthColorMap(noiseMap, layers), chunkSize);
            mv.PlaneVisualizer(tex);
        }
        else if (drawMode == DrawMode.Mesh)
        {
            Texture2D  tex        = mv.GenerateTexture(mv.GenerateDepthColorMap(noiseMap, layers), chunkSize);
            CustomMesh customMesh = CustomMesh.GenerateHeightMesh(noiseMap, meshHeightModifier, heightCurve, lod);
            mv.MeshVisualizer(tex, customMesh);
        }
    }