private void OnEnable()
        {
            hierarchySettingsEnabled = EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + ".HierarchyEnabled", false);
            projectSettingsEnabled   = EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + ".ProjectEnabled", false);
            inspectorSettingsEnabled = EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + ".InspectorEnabled", false);

            useToolboxHierarchyProperty = serializedObject.FindProperty("useToolboxHierarchy");
            useToolboxDrawersProperty   = serializedObject.FindProperty("useToolboxDrawers");
            useToolboxFoldersProperty   = serializedObject.FindProperty("useToolboxFolders");
            drawHorizontalLinesProperty = serializedObject.FindProperty("drawHorizontalLines");
            largeIconScaleProperty      = serializedObject.FindProperty("largeIconScale");
            smallIconScaleProperty      = serializedObject.FindProperty("smallIconScale");
            largeIconPaddingProperty    = serializedObject.FindProperty("largeIconPadding");
            smallIconPaddingProperty    = serializedObject.FindProperty("smallIconPadding");

            rowDataItemsList  = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("rowDataItems"));
            customFoldersList = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("customFolders"));

            decoratorDrawerHandlersList    = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("decoratorDrawerHandlers"));
            conditionDrawerHandlersList    = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("conditionDrawerHandlers"));
            selfPropertyDrawerHandlersList = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("selfPropertyDrawerHandlers"));
            listPropertyDrawerHandlersList = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("listPropertyDrawerHandlers"));
            targetTypeDrawerHandlersList   = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("targetTypeDrawerHandlers"));

            currentTarget = target as ToolboxEditorSettings;
        }
Ejemplo n.º 2
0
        private void OnEnable()
        {
            drawersSettingsEnabled   = EditorPrefs.GetBool("ToolboxEditorSettings.drawersSettingsEnabled", false);
            projectSettingsEnabled   = EditorPrefs.GetBool("ToolboxEditorSettings.projectSettingsEnabled", false);
            hierarchySettingsEnabled = EditorPrefs.GetBool("ToolboxEditorSettings.hierarchySettingsEnabled", false);

            useToolboxDrawersProperty   = serializedObject.FindProperty("useToolboxDrawers");
            useToolboxFoldersProperty   = serializedObject.FindProperty("useToolboxFolders");
            useToolboxHierarchyProperty = serializedObject.FindProperty("useToolboxHierarchy");

            customFoldersList           = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("customFolders"));
            customFoldersList.HasHeader = false;

            decoratorDrawerHandlersList           = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("decoratorDrawerHandlers"));
            decoratorDrawerHandlersList.HasHeader = false;

            propertyDrawerHandlersList           = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("propertyDrawerHandlers"));
            propertyDrawerHandlersList.HasHeader = false;

            conditionDrawerHandlersList           = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("conditionDrawerHandlers"));
            conditionDrawerHandlersList.HasHeader = false;

            collectionDrawerHandlersList           = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("collectionDrawerHandlers"));
            collectionDrawerHandlersList.HasHeader = false;

            targetTypeDrawerHandlersList           = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("targetTypeDrawerHandlers"));
            targetTypeDrawerHandlersList.HasHeader = false;

            currentTarget = target as ToolboxEditorSettings;
        }
        internal static void InitializeSettings()
        {
            var guids = AssetDatabase.FindAssets("t:ToolboxEditorSettings");

            if (guids == null || guids.Length == 0)
            {
                return;
            }
            var path = AssetDatabase.GUIDToAssetPath(guids.First());

            settings = AssetDatabase.LoadAssetAtPath(path, typeof(ToolboxEditorSettings)) as ToolboxEditorSettings;
        }
        private void OnEnable()
        {
            drawersSettingsEnabled   = EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + "." + nameof(drawersSettingsEnabled), false);
            projectSettingsEnabled   = EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + "." + nameof(projectSettingsEnabled), false);
            hierarchySettingsEnabled = EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + "." + nameof(hierarchySettingsEnabled), false);

            useToolboxDrawersProperty   = serializedObject.FindProperty("useToolboxDrawers");
            useToolboxFoldersProperty   = serializedObject.FindProperty("useToolboxFolders");
            useToolboxHierarchyProperty = serializedObject.FindProperty("useToolboxHierarchy");
            largeIconScaleProperty      = serializedObject.FindProperty("largeIconScale");
            smallIconScaleProperty      = serializedObject.FindProperty("smallIconScale");
            largeIconPaddingProperty    = serializedObject.FindProperty("largeIconPadding");
            smallIconPaddingProperty    = serializedObject.FindProperty("smallIconPadding");

            customFoldersList = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("customFolders"));

            propertyDrawerHandlersList   = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("propertyDrawerHandlers"));
            decoratorDrawerHandlersList  = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("decoratorDrawerHandlers"));
            conditionDrawerHandlersList  = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("conditionDrawerHandlers"));
            collectionDrawerHandlersList = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("collectionDrawerHandlers"));
            targetTypeDrawerHandlersList = ToolboxEditorGui.CreateLinedList(serializedObject.FindProperty("targetTypeDrawerHandlers"));

            currentTarget = target as ToolboxEditorSettings;
        }
        internal static void InitializeSettings(ToolboxEditorSettings settings)
        {
            AssetDatabase.TryGetGUIDAndLocalFileIdentifier(settings, out string guid, out long id);

            InitializeSettings(guid);
        }
Ejemplo n.º 6
0
        private void OnEnable()
        {
            currentTarget = target as ToolboxEditorSettings;

            //internal properties cached by 'EditorPrefs'
            hierarchyAnimBool = new AnimBool(EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + ".HierarchyEnabled", false));
            projectAnimBool   = new AnimBool(EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + ".ProjectEnabled", false));
            inspectorAnimBool = new AnimBool(EditorPrefs.GetBool(nameof(ToolboxEditorSettings) + ".InspectorEnabled", false));

            enabledToShowDrawerType = EditorPrefs.GetInt(nameof(ToolboxEditorSettings) + ".PickedDrawerType", 0);

            var repaintAction = new UnityAction(() =>
            {
                //NOTE: we have to repaint our editor and already focused (probably ProjectSettings) window
                Repaint();
                EditorWindow.focusedWindow.Repaint();
            });

            hierarchyAnimBool.valueChanged.AddListener(repaintAction);
            projectAnimBool.valueChanged.AddListener(repaintAction);
            inspectorAnimBool.valueChanged.AddListener(repaintAction);

            //hierarchy-related properties
            useToolboxHierarchyProperty = serializedObject.FindProperty("useToolboxHierarchy");
            drawHorizontalLinesProperty = serializedObject.FindProperty("drawHorizontalLines");
            showSelectionsCountProperty = serializedObject.FindProperty("showSelectionsCount");
#if UNITY_2019_3_OR_NEWER
            rowDataItemsList = CreateClearList(serializedObject.FindProperty("rowDataItems"), hasHeader: false, elementLabel: "Position");
#else
            rowDataItemsList = CreateLinedList(serializedObject.FindProperty("rowDataItems"), hasHeader: false, elementLabel: "Position");
#endif
            //project-related properties
            useToolboxFoldersProperty = serializedObject.FindProperty("useToolboxFolders");

            largeIconScaleProperty   = serializedObject.FindProperty("largeIconScale");
            smallIconScaleProperty   = serializedObject.FindProperty("smallIconScale");
            largeIconPaddingProperty = serializedObject.FindProperty("largeIconPadding");
            smallIconPaddingProperty = serializedObject.FindProperty("smallIconPadding");
#if UNITY_2019_3_OR_NEWER
            customFoldersList = CreateClearList(serializedObject.FindProperty("customFolders"), hasHeader: false);
#else
            customFoldersList = CreateLinedList(serializedObject.FindProperty("customFolders"), hasHeader: false);
#endif
            //inspector-related properties
            useToolboxDrawersProperty = serializedObject.FindProperty("useToolboxDrawers");

            drawerHandlersLists = new ReorderableList[5];
#if UNITY_2019_3_OR_NEWER
            drawerHandlersLists[0] = CreateClearList(serializedObject.FindProperty("decoratorDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[1] = CreateClearList(serializedObject.FindProperty("conditionDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[2] = CreateClearList(serializedObject.FindProperty("selfPropertyDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[3] = CreateClearList(serializedObject.FindProperty("listPropertyDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[4] = CreateClearList(serializedObject.FindProperty("targetTypeDrawerHandlers"), hasHeader: false);
#else
            drawerHandlersLists[0] = CreateLinedList(serializedObject.FindProperty("decoratorDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[1] = CreateLinedList(serializedObject.FindProperty("conditionDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[2] = CreateLinedList(serializedObject.FindProperty("selfPropertyDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[3] = CreateLinedList(serializedObject.FindProperty("listPropertyDrawerHandlers"), hasHeader: false);
            drawerHandlersLists[4] = CreateLinedList(serializedObject.FindProperty("targetTypeDrawerHandlers"), hasHeader: false);
#endif
            drawerHandlersLongNames = new[]
            {
                "Decorator",
                "Condition",
                "Property (Self)",
                "Property (List)",
                "Target Type"
            };
            drawerHandlersShortNames = new[]
            {
                "Decorator",
                "Condition",
                "Prop. Self",
                "Prop. List",
                "Type"
            };
            drawerHandlersInfoLabels = new[]
            {
                "",
                "",
                "",
                "",
                ""
            };
        }