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(); }
/// <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}"); } }
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 }; }
public ChunkFactory(IEnvironmentGenerator environmentGenerator, Func<IChunkRenderer> chunkRendererFactory) { this.environmentGenerator = environmentGenerator; this.chunkRendererFactory = chunkRendererFactory; prototypeMap = new BlockPrototypeMap(); }