public override Task OnActivateAsync() { _densityMap = new float[5, 33, 5]; _depthMap = new float[5, 1, 5]; _mainNoiseMap = new float[5, 33, 5]; _minLimitMap = new float[5, 33, 5]; _maxLimitMap = new float[5, 33, 5]; _surfaceMap = new float[16, 1, 16]; _seed = (int)this.GetPrimaryKeyLong(); _random = new Random(_seed); _depthNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _mainNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _maxNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _minNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _surfaceNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _biomeWeights = new float[5, 5]; for (int i = -2; i <= 2; ++i) { for (int j = -2; j <= 2; ++j) { float f = 10.0F / (float)Math.Sqrt((i * i + j * j) + 0.2D); _biomeWeights[i + 2, j + 2] = f; } } _biomesForGeneration = new Biome[16, 16]; _genlayer = GenLayer.InitAllLayer(_seed); return(Task.CompletedTask); }
public void Test1() { using (StreamWriter sw = new StreamWriter("../../GenLayer.txt")) { GenLayer layer = GenLayer.InitAllLayer(1); int x = -4; int z = -4; int[,] biomeIds = layer.GetInts(16 * x - 16, 16 * z - 16, 48, 48); sw.WriteLine("pre: "); for (int i = 0; i < 48; ++i) { for (int j = 0; j < 48; ++j) { sw.Write(biomeIds[i, j] + " "); } sw.WriteLine(); } biomeIds = layer.GetInts(16 * x, 16 * z, 16, 16); sw.WriteLine("suc: "); for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { sw.Write(biomeIds[i, j] + " "); } sw.WriteLine(); } } }