Example #1
0
    private void ProDraw()
    {
        GUI.skin = m_GUISkin;
        if (initStyle)
        {
            boxStyle      = "GroupBox";
            warnIconStyle = "CN EntryWarn";
            initStyle     = false;
        }

        if (Target._guid != configurationGuid)
        {
            sceneListData.ClearSelection();
            levelListData.ClearSelection();
            CheckConfiguration();
        }
        if (Invalid)
        {
            EditorGUILayout.BeginHorizontal(boxStyle);
            GUILayout.Label(string.Empty, warnIconStyle);
            GUILayout.Label("这个配置文件是无效的".AddRed());
            if (GUILayout.Button("修复配置"))
            {
                FixConfiguration();
            }
            EditorGUILayout.EndHorizontal();
        }
    }
    /// <summary>
    /// Draws the inspector GUI.
    /// </summary>
    public override void OnInspectorGUI()
    {
        if (initStyle)
        {
            boxStyle      = (GUIStyle)"GroupBox";
            warnIconStyle = (GUIStyle)"CN EntryWarn";
            initStyle     = false;
        }

        if (Target._guid != configurationGuid)
        {
            // guid is different. undo used
            sceneListData.ClearSelection();
            levelListData.ClearSelection();
            groupListData.ClearSelection();
            CheckConfiguration();
        }

        RebuildLevelOfCurrentGroup();

        EditorGUILayout.Space();
        ConfigurationStatusGUI();
        EditorGUILayout.Space();
        SceneGUI();
        EditorGUILayout.Space();
    }
    public void OnGUI()
    {
        if (requestFocus && Event.current.type == EventType.Layout)
        {
            requestFocus = false;
            EditorWindow.FocusWindowIfItsOpen <UTAutomationPlanPopup>();
        }

        EditorGUILayout.LabelField(caption);
        EditorGUILayout.Space();

        GUI.SetNextControlName("AutomationPlanList");
        listData = CUListControl.SelectionList <UTAutomationPlan>(listData, currentItems, itemRenderer, "Plans", GUILayout.ExpandHeight(true));
        if (GUI.GetNameOfFocusedControl() == string.Empty)
        {
            // move focus to the textfield after the dialog is visible
            GUI.FocusControl("AutomationPlanList");
        }
        EditorGUILayout.Space();

        EditorGUILayout.BeginHorizontal();

        EditorGUI.BeginChangeCheck();
        showAllItems = GUILayout.Toggle(showAllItems, "Show hidden plans");
        if (EditorGUI.EndChangeCheck())
        {
            currentItems = showAllItems ? allItems : visibleItems;
            listData.ClearSelection();
            if (currentItems.Count > 0)
            {
                listData[0] = true;
            }
        }

        GUILayout.FlexibleSpace();
        GUI.enabled = !listData.Empty;
        if (GUILayout.Button("Ok"))
        {
            Apply(listData.First);
        }
        GUI.enabled = true;
        if (GUILayout.Button("Cancel"))
        {
            CloseDialog();
        }
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.Space();

        if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape)
        {
            CloseDialog();
        }
        wasGuiPaintedAtLeastOnce = true;
    }
    public void OnGUI()
    {
        if (requestFocus && Event.current.type == EventType.Layout) {
            requestFocus = false;
            EditorWindow.FocusWindowIfItsOpen<UTAutomationPlanPopup>();
        }

        EditorGUILayout.LabelField(caption);
        EditorGUILayout.Space();

        GUI.SetNextControlName("AutomationPlanList");
        listData = CUListControl.SelectionList<UTAutomationPlan>(listData, currentItems, itemRenderer, "Plans", GUILayout.ExpandHeight(true));
        if (GUI.GetNameOfFocusedControl() == string.Empty) {
            // move focus to the textfield after the dialog is visible
            GUI.FocusControl("AutomationPlanList");
        }
        EditorGUILayout.Space();

        EditorGUILayout.BeginHorizontal();

        EditorGUI.BeginChangeCheck ();
        showAllItems = GUILayout.Toggle(showAllItems, "Show hidden plans");
        if (EditorGUI.EndChangeCheck ()) {
            currentItems = showAllItems ? allItems : visibleItems;
            listData.ClearSelection();
            if (currentItems.Count > 0) {
                listData[0] = true;
            }
        }

        GUILayout.FlexibleSpace();
        GUI.enabled = !listData.Empty;
        if (GUILayout.Button("Ok")) {
            Apply(listData.First);
        }
        GUI.enabled = true;
        if (GUILayout.Button("Cancel")) {
            CloseDialog();
        }
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.Space();

        if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape) {
            CloseDialog();
        }
        wasGuiPaintedAtLeastOnce = true;
    }