private static void RunImproved()
        {
            Console.WriteLine("Test of EnvironmentGeneratorMedival");
            IEnvironmentGenerator medievalFac = EnvironmentGeneratorFactory.Create(EnvironmentTypes.Medieval);

            Generate(medievalFac, 2, 3, 4);
            Console.WriteLine();

            Console.WriteLine("Test of EnvironmentGeneratorFuture");
            IEnvironmentGenerator futureFac = EnvironmentGeneratorFactory.Create(EnvironmentTypes.Future);

            Generate(futureFac, 2, 3, 4);
            Console.WriteLine();
        }
Beispiel #2
0
        /// <summary>
        /// Generate some objects of the three environment
        /// element types: Buildings, Creatures and Weapons.
        /// </summary>
        private static void Generate(IEnvironmentGenerator generator, int noOfBuildings, int noOfCreatures, int noOfWeapons)
        {
            for (int i = 0; i < noOfBuildings; i++)
            {
                Console.WriteLine($"Generated building: {generator.GenerateBuilding().ElementDescription}");
            }

            for (int i = 0; i < noOfCreatures; i++)
            {
                Console.WriteLine($"Generated creature: {generator.GenerateCreature().ElementDescription}");
            }

            for (int i = 0; i < noOfWeapons; i++)
            {
                Console.WriteLine($"Generated weapon: {generator.GenerateWeapon().ElementDescription}");
            }
        }
Beispiel #3
0
        public Chunk(World world, ChunkPosition position, IEnvironmentGenerator environmentGenerator, IChunkRenderer renderer, BlockPrototypeMap prototypeMap)
        {
            Position = position;
            this.world = world;
            this.environmentGenerator = environmentGenerator;
            this.renderer = renderer;

            blockArray = new BlockArray(prototypeMap, XDimension, YDimension, ZDimension);
            lightArray = new Array3<byte>(XDimension, YDimension, ZDimension);

            OriginInWorld = new BlockPosition(Position, new RelativeBlockPosition(0, 0, 0));
            neighborhoodPositions = new[]
            {
                Position,
                Position.Left,
                Position.Right,
                Position.Front,
                Position.Back
            };
        }
Beispiel #4
0
 public ChunkFactory(IEnvironmentGenerator environmentGenerator, Func<IChunkRenderer> chunkRendererFactory)
 {
     this.environmentGenerator = environmentGenerator;
     this.chunkRendererFactory = chunkRendererFactory;
     prototypeMap = new BlockPrototypeMap();
 }