Beispiel #1
0
        public void GenerateCluster(Vector2 center)
        {
            var sampler = new StratifiedSampler(random, 6);


            for (int i = 0; i < nbIslandsPerCluster; i++)
            {
                var pos = (center + (sampler.Sample() * distanceBetweenIslands)).ToXZ();
                pos.Y = random.Next(-2, 3) * 5;
                var isl  = level.CreateNewIsland(pos);
                var desc = new IslandDescriptor();
                desc.seed      = random.Next(0, 30);
                isl.Descriptor = desc;

                isl.Node.Relative = Matrix.RotationY((float)random.Next(8) * MathHelper.PiOver4) * isl.Node.Relative;
            }
        }
Beispiel #2
0
        private void generateClusters(Vector2 offset)
        {
            int numCells = 8;

            var cellSize = 2 * averageIslandSize;

            offset *= numCells * cellSize;

            var sampler    = new StratifiedSampler(random, numCells);
            var nbClusters = 6;

            for (int i = 0; i < nbClusters; i++)
            {
                var pos = offset + (sampler.Sample() * cellSize);
                GenerateCluster(pos);
            }
        }