Beispiel #1
0
    void OnGUI()
    {
        if (manager == null)
        {
            manager = GameObject.FindObjectOfType <ControlledMazeManager>();
        }
        GUILayout.Label("Controlled Maze Controller: " + (manager == null ? "N/A" : "Found (" + manager.getManager().mazeSize.x + "x" + manager.getManager().mazeSize.y + ")"), EditorStyles.boldLabel);

        //We couldn't find it, so we'll try again next update
        if (manager == null)
        {
            return;
        }

        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("   W");
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("S + N");
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("   E");
        EditorGUILayout.EndHorizontal();

        for (int y = manager.rows.Length - 1; 0 <= y; y--)
        {
            EditorGUILayout.BeginHorizontal();
            for (int x = 0; x < manager.rows[y].column.Length; x++)
            {
                manager.rows[y].column[x] = (RoomObject)EditorGUILayout.ObjectField(manager.rows[y].column[x], typeof(RoomObject));
            }
            EditorGUILayout.EndHorizontal();
        }

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Clear Maze"))
        {
            int option = EditorUtility.DisplayDialogComplex("Are you sure?",
                                                            "What do you REALLY want to clear the maze?",
                                                            "Yes",
                                                            "No",
                                                            "Cancel");

            switch (option)
            {
            // Yes
            case 0:
                ClearMaze();
                break;

            // No
            case 1:
                break;

            // Cancel
            case 2:
                break;

            default:
                Debug.LogError("Unrecognized option.");
                break;
            }
        }
        EditorGUILayout.EndHorizontal();
        EditorUtility.SetDirty(manager);
    }