Exemple #1
0
        void EditorSkinsDropdown(Rect pos)
        {
            string[]          guids = AssetDatabase.FindAssets("t:ScriptableObject");
            List <EditorSkin> skins = new List <EditorSkin>();

            for (int g = 0; g < guids.Length; g++)
            {
                ScriptableObject obj = AssetDatabase.LoadAssetAtPath <ScriptableObject>(AssetDatabase.GUIDToAssetPath(guids[g]));
                if (obj != null && obj.GetType().Equals(typeof(EditorSkin)))
                {
                    skins.Add((EditorSkin)obj);
                }
            }
            skins.Sort((x, y) => x.orderValue.CompareTo(y.orderValue));

            GenericMenu menu = new GenericMenu();

            for (int t = 0; t < skins.Count; t++)
            {
                EditorSkin skin = skins[t];
                menu.AddItem(new GUIContent(skin.title), EditorSettings.INSTANCE.editorSkin == skin,
                             delegate() {
                    EditorSettings.INSTANCE.editorSkin = skin;
                    EditorUtility.SetDirty(EditorSettings.INSTANCE);
                    AbilityDesignerWindow.OrderSkinChange();
                    Focus();
                });
            }
            menu.DropDown(pos);
        }
Exemple #2
0
        void EditorArea(Rect rect)
        {
            EditorSettings settings = EditorSettings.INSTANCE;

            EditorGUI.BeginChangeCheck();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel(new GUIContent("Editor Skin"));
            Rect buttonRect = GUILayoutUtility.GetRect(new GUIContent(""), EditorStyles.popup);

            if (GUI.Button(buttonRect, new GUIContent(EditorSettings.INSTANCE.editorSkin.title), EditorStyles.popup))
            {
                EditorSkinsDropdown(buttonRect);
            }
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Space();
            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
            EditorGUILayout.LabelField(new GUIContent("Shortcuts"));
            EditorGUILayout.Space();
            ShortcutField(new GUIContent("General Tab"), settings.generalTabShortcut);
            ShortcutField(new GUIContent("Structure Tab"), settings.structureTabShortcut);
            ShortcutField(new GUIContent("Variables Tab"), settings.variablesTabShortcut);
            ShortcutField(new GUIContent("Inspector Tab"), settings.inspectorTabShortcut);
            EditorGUILayout.Space();
            ShortcutField(new GUIContent("Move Selection Left"), settings.moveSelectionLeftShortcut);
            ShortcutField(new GUIContent("Move Selection Right"), settings.moveSelectionRightShortcut);
            ShortcutField(new GUIContent("Move Selection Up"), settings.moveSelectionUpShortcut);
            ShortcutField(new GUIContent("Move Selection Down"), settings.moveSelectionDownShortcut);
            EditorGUILayout.Space();
            ShortcutField(new GUIContent("Move Left"), settings.moveLeftShortcut);
            ShortcutField(new GUIContent("Move Right"), settings.moveRightShortcut);
            ShortcutField(new GUIContent("Move Up"), settings.moveUpShortcut);
            ShortcutField(new GUIContent("Move Down"), settings.moveDownShortcut);
            EditorGUILayout.Space();
            ShortcutField(new GUIContent("Delete Selected"), settings.deleteSelectedShortcut);
            ShortcutField(new GUIContent("Delete Hovered"), settings.deleteHoveredShortcut);
            EditorGUILayout.EndVertical();
            EditorGUILayout.Space();
            if (EditorGUI.EndChangeCheck())
            {
                CheckForShortcutErrors();
                EditorUtility.SetDirty(settings);
                AbilityDesignerWindow.OrderSkinChange();
                Focus();
            }
        }