Provides a noise module that outputs Voronoi cells. [GENERATOR]
Inheritance: ModuleBase
Ejemplo n.º 1
0
    private static TypeBlock ForestNormal_Dense(int x, int z, Block tile, float sample, float perlin)
    {
        LibNoise.Unity.Generator.Voronoi CityNoise = new LibNoise.Unity.Generator.Voronoi(0.009f, 1, World.Seed, false);
        VeronoiStruc sample2 = CityNoise.GetValueNPoint(x, z, 0);

        //tile.CityPoint = new DataVector3(CityNoise.GetPoint(x, z, 0));

        VeronoiStruc Tile_Vila_Up    = CityNoise.GetValueNPoint(x, z + 1, 0);
        VeronoiStruc Tile_Vila_Down  = CityNoise.GetValueNPoint(x, z - 1, 0);
        VeronoiStruc Tile_Vila_Left  = CityNoise.GetValueNPoint(x - 1, z, 0);
        VeronoiStruc Tile_Vila_Right = CityNoise.GetValueNPoint(x + 1, z, 0);

        //tile.CityPoint = new Vector3(CityNoise.GetPoint(x, z, 0));


        /*Tile_Vila_Up.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x, z + 1);
         * Tile_Vila_Down.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x, z - 1);
         * Tile_Vila_Left.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x - 1, z);
         * Tile_Vila_Right.TileType = Game.WorldGenerator.HeightTeste.GetPixel(x + 1, z);*/

        if ((int)Tile_Vila_Up.Value == 1 || (int)Tile_Vila_Down.Value == 1 || (int)Tile_Vila_Left.Value == 1 || (int)Tile_Vila_Right.Value == 1)
        {
            return(TypeBlock.Rock);
        }

        if (perlin <= 0.15f)
        {
            //Water
            return(TypeBlock.WaterFloor);
        }
        else if (perlin > 0.15f && perlin < 0.2f)
        {
            //Sand Bench
            return(TypeBlock.BeachSand);
        }
        else if (perlin > 0.2f && perlin <= 0.7f)
        {
            return(TypeBlock.Grass);
        }
        else if (perlin > 0.7f && perlin <= 0.8f)
        {
            return(TypeBlock.Rock);
        }
        else
        {
            return(TypeBlock.Rock);
        }
    }
 public void PostApply(ConfigNode node)
 {
     switch (type)
     {
     case NoiseType.Perlin:
         var perlin = new Perlin ();
         perlin.Quality = QualityMode.High;
         perlin.Seed = seed;
         perlin.OctaveCount = octaves;
         perlin.Frequency = frequency;
         perlin.Lacunarity = lacunarity;
         perlin.Persistence = persistence;
         Module = perlin;
         break;
     case NoiseType.ExDistPerlin:
         var exDistPerlin = new ExDistPerlin ();
         exDistPerlin.Quality = QualityMode.High;
         exDistPerlin.Seed = seed;
         exDistPerlin.OctaveCount = octaves;
         exDistPerlin.Frequency = frequency;
         exDistPerlin.Lacunarity = lacunarity;
         exDistPerlin.Persistence = persistence;
         exDistPerlin.Mu = mu;
         Module = exDistPerlin;
         break;
     case NoiseType.Billow:
         var billow = new Billow ();
         billow.Quality = QualityMode.High;
         billow.Seed = seed;
         billow.OctaveCount = octaves;
         billow.Frequency = frequency;
         billow.Lacunarity = lacunarity;
         billow.Persistence = persistence;
         Module = billow;
         break;
     case NoiseType.RidgedMultiFractal:
         var ridgedMultiFractal = new RiggedMultifractal ();
         ridgedMultiFractal.Quality = QualityMode.High;
         ridgedMultiFractal.Seed = seed;
         ridgedMultiFractal.OctaveCount = octaves;
         ridgedMultiFractal.Frequency = frequency;
         ridgedMultiFractal.Lacunarity = lacunarity;
         Module = ridgedMultiFractal;
         break;
     case NoiseType.Voronoi:
         var voronoi = new Voronoi ();
         voronoi.Seed = seed;
         voronoi.UseDistance = voronoiUseDistance;
         voronoi.Displacement = displacement;
         voronoi.Frequency = frequency;
         Module = voronoi;
         break;
     case NoiseType.Const:
         var constant = new Const ();
         constant.Value = constantValue;
         Module = constant;
         break;
     }
 }