void Start() { rooms = GetComponent <RoomGenerator>(); corridors = GetComponent <CorridorGenerator>(); walls = GetComponent <WallGenerator>(); chests = GetComponent <ChestGenerator>(); playerAndMerchantsGenerator = GetComponent <PlayerAndMerchantsGenerator>(); enemiesGenerator = GetComponent <EnemiesGenerator>(); StartCoroutine(CreateDungeon()); // }
private void GenerateDungeonFeatures(int direction) { // Generate architecture for each tree quad recursively ArchitectureGenerator architecture = new ArchitectureGenerator(); architecture.GenerateArchitecture(dungeonGenerator.quadTree); // Generate stairs StairGenerator stairs = new StairGenerator(); stairs.Generate(); // If we cannot solve the level, we need to generate a different one if (!LevelIsSolvable()) { Debug.LogError("Dungeon level cannot be solved. Genrating again..."); GenerateDungeon(direction); return; } // Generate player PlayerGenerator player = new PlayerGenerator(); Stair stair = direction == -1 ? grid.stairDown : grid.stairUp; player.GenerateAtPos(stair.x, stair.y); // Generate furniture FurnitureGenerator furniture = new FurnitureGenerator(); furniture.Generate(); // Generate monsters MonsterGenerator monsters = new MonsterGenerator(); monsters.Generate(); //monsters.GenerateSingle(); // Generate chests ChestGenerator chests = new ChestGenerator(); chests.Generate(); // Generate items ItemGenerator items = new ItemGenerator(); items.Generate(); }
// START: /// <summary> /// Start this instance. /// </summary> public void Start() { // Get the components dungeonGenerator = GetComponent<DungeonGenerator> (); sceneryGenerator = GetComponent<SceneryGenerator> (); stairsGenerator = GetComponent<StairsGenerator> (); roomGenerator = GetComponent<RoomGenerator> (); perimeterGenerator = GetComponent<PerimeterGenerator> (); entranceGenerator = GetComponent<EntranceGenerator> (); corridorGenerator = GetComponent<CorridorGenerator> (); voidGenerator = GetComponent<VoidGenerator> (); pitGenerator = GetComponent<PitGenerator> (); chestGenerator = GetComponent<ChestGenerator> (); caveGenerator = GetComponent<CaveGenerator> (); terrainCarver = GetComponent<TerrainCarver> (); terrainGenerator = GetComponent<TerrainGenerator> (); textureGenerator = GetComponent<TerrainTextureGenerator> (); // Initialize the instances stairsGenerator.Start (); roomGenerator.Start (); perimeterGenerator.Start (); entranceGenerator.Start (); corridorGenerator.Start (); voidGenerator.Start (); pitGenerator.Start (); chestGenerator.Start (); caveGenerator.Start (); terrainCarver.Start (); terrainGenerator.Start (); textureGenerator.Start (); // Initialize the floor array allFloors = new Floor[dungeonGenerator.numFloors]; }