/** If an instance is set, initializes and rebuilds that dungeon instance. */ public static void InitializeAndRebuildDungeon() { if (instance == null) { return; } instance.Initialize(); instance.RebuildDungeon(); }
/// <summary> /// Calls dungeon generation functions in sequence /// </summary> private void GenerateNewDungeon() { ValidateVariables(); InitializeDungeon(); GenerateRooms(); PrintDungeon(); PrintDungeonToCanvas(); if (dungeonBuilder != null) { dungeonBuilder.Initialize(emptySpaceChar, roomChar, hallChar, doorChar, exitChar, entryChar, dungeonLayout); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); DungeonBuilder script = (DungeonBuilder)target; bool isInitialized = script.IsInitialized; GUI.enabled = isInitialized; script.BuildMethod = (DungeonBuildMethod)EditorGUILayout.EnumPopup(script.BuildMethod); if (GUILayout.Button("Rebuild Map")) { script.RebuildSelectedMap(); } if (GUILayout.Button("Rebuild Dungeon")) { script.RebuildDungeon(); } GUI.enabled = true; if (!isInitialized) { GUILayout.Label("You must initialize before rebuilding."); } if (GUILayout.Button("Initialize")) { script.Initialize(); } if (GUILayout.Button("Clear")) { DungeonBuilder.ClearAll(); } GUILayout.Label("Active Level:"); if (isInitialized) { script.SelectedMap = EditorGUILayout.IntSlider(script.SelectedMap, 0, script.Maps); } }