public GeneratorProcess Generate(Config config) { this.sizeXbits = config.worldSize.worldSizeBitsX; this.sizeYbits = config.worldSize.worldSizeBitsY; this.sizeZbits = config.worldSize.worldSizeBitsZ; sizeX = 1 << sizeXbits; sizeY = 1 << sizeYbits; sizeZ = 1 << sizeZbits; gameplay = config.gameplay.gameplay; gameplay.Init(this); tileManager.Create(config.tileDefinitions, sizeXbits, sizeYbits, sizeZbits); itemManager.Create(config.itemDefinitions); avatarManager.Create(config.avatarDefinitions); sectorManager.Create(); dayCycleManager.Create(config.dayInfo); configSurroundings = config.worldGenerator.surroundings; configExtraMaterials = config.extraMaterials; MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); return(gameplay.Generate(config)); }