コード例 #1
0
 /** 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);
     }
 }
コード例 #3
0
    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);
        }
    }