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 ManageProjectCore(IToolboxProjectSettings settings) { if (settings == null) { ToolboxEditorProject.IsOverlayAllowed = false; ToolboxEditorProject.RepaintProjectOverlay(); return; } var validateData = !IsInitialized; //enable/disable the core GUI function ToolboxEditorProject.IsOverlayAllowed = settings.UseToolboxProject; ToolboxEditorProject.LargeIconScale = settings.LargeIconScale; ToolboxEditorProject.SmallIconScale = settings.SmallIconScale; ToolboxEditorProject.LargeIconPaddingRatio = settings.LargeIconPadding; ToolboxEditorProject.SmallIconPaddingRatio = settings.SmallIconPadding; ToolboxEditorProject.ClearCustomFolders(); //create custom folders using stored data for (var i = 0; i < settings.CustomFolders.Count; i++) { ToolboxEditorProject.CreateCustomFolder(settings.CustomFolders[i]); } ToolboxEditorProject.RepaintProjectOverlay(); }