internal static void InitializeSettings(string assetGuid) { settingsGuid = assetGuid; settingsPath = AssetDatabase.GUIDToAssetPath(assetGuid); //try to get proper settings asset from provided guid var settings = AssetDatabase.LoadAssetAtPath <ToolboxEditorSettings>(settingsPath); if (settings == null) { ToolboxEditorLog.KitInitializationWarning(settingsType); return; } Settings = settings; Settings.AddOnSettingsUpdatedListener(() => { //perform separated data models update ToolboxDrawerUtility.PerformData(); ToolboxProjectUtility.PerformData(); ToolboxHierarchyUtility.PerformData(); //perform additional repaint to update GUI ToolboxEditorProject.RepaintProjectOverlay(); ToolboxEditorHierarchy.RepaintHierarchyOverlay(); }); //initialize core functionalities ToolboxDrawerUtility.PerformData(Settings); ToolboxProjectUtility.PerformData(Settings); ToolboxHierarchyUtility.PerformData(Settings); }
private static void ManageHierarchyCore(IToolboxHierarchySettings settings) { if (settings == null) { ToolboxEditorHierarchy.IsOverlayAllowed = false; ToolboxEditorHierarchy.RepaintHierarchyOverlay(); return; } //enable/disable the core GUI function ToolboxEditorHierarchy.IsOverlayAllowed = settings.UseToolboxHierarchy; ToolboxEditorHierarchy.DrawHorizontalLines = settings.DrawHorizontalLines; ToolboxEditorHierarchy.ShowSelectionsCount = settings.ShowSelectionsCount; ToolboxEditorHierarchy.DrawSeparationLines = true; ToolboxEditorHierarchy.RemoveAllowedHierarchyContentCallbacks(); //create custom drawers using stored data for (var i = 0; i < settings.RowDataTypes.Count; i++) { ToolboxEditorHierarchy.CreateAllowedHierarchyContentCallbacks(settings.RowDataTypes[i]); } ToolboxEditorHierarchy.RepaintHierarchyOverlay(); }