예제 #1
0
    public void GenerateMap()
    {
        System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
        Color[,] map;

        if (randSeed)
        {
            seed = System.DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
        }

        // IPerlinLayer blue = new BasePerlinLayer(fill, frequency, octaves, octaveFreqMultiplier, octaveAmpMultiplier, "hello world");
        IPerlinLayer red = new BasePerlinLayer(fill, frequency, octaves, octaveFreqMultiplier, octaveAmpMultiplier, seed);
        // IPerlinLayer green = new CompositePerlinLayer(blue, red, PerlinOperation.Intersection);

        PerlinMap <Color> perlinMap = new PerlinMap <Color>(Color.black, red, Color.white);

        // perlinMap.AddLayer(blue, Color.blue);
        // perlinMap.AddLayer(red, Color.red);

        stopwatch.Start();
        map = perlinMap.GetCells(0, 0, width, height);
        stopwatch.Stop();
        genTimeText.text = string.Format("Generated {0} cells in {1}ms.", width * height, stopwatch.ElapsedMilliseconds == 0 ? "<1" : stopwatch.ElapsedMilliseconds.ToString());

        if (perlinVisualizer != null)
        {
            perlinVisualizer.SetMap(map);
        }
    }
 public void RefreshLayer()
 {
     layer = new BasePerlinLayer(fillSlider.value, new Vector2(freqXSlider.value, freqYSlider.value), (int)octaveSlider.value, octaveFreqSlider.value, octaveAmpSlider.value, seed);
 }