public static void DrawFontAssetProperties(ThemeData themeData, int propertyIndex, SerializedObject serializedObject, Object[] targets, ThemeTarget target, ColorName componentColorName, Color initialGUIColor) { GUIStyle buttonStyleDisabled = Styles.GetStyle(Styles.StyleName.CheckBoxDisabled); GUIStyle buttonStyleEnabled = Styles.GetStyle(Styles.StyleName.CheckBoxEnabled); #if dUI_TextMeshPro if (themeData.FontAssetLabels.Count != themeData.ActiveVariant.FontAssets.Count) { foreach (LabelId labelId in themeData.FontAssetLabels.Where(labelId => !themeData.ActiveVariant.ContainsFontAsset(labelId.Id))) { themeData.ActiveVariant.AddFontAssetProperty(labelId.Id); } } #endif for (int i = 0; i < themeData.FontAssetLabels.Count; i++) { LabelId fontAssetProperty = themeData.FontAssetLabels[i]; int index = i; bool selected = i == propertyIndex; GUILayout.BeginHorizontal(); { GUI.color = DGUI.Colors.PropertyColor(componentColorName); if (GUILayout.Button(GUIContent.none, selected ? buttonStyleEnabled : buttonStyleDisabled)) { if (serializedObject.isEditingMultipleObjects) { DoozyUtils.UndoRecordObjects(targets, UILabels.UpdateValue); foreach (Object o in targets) { var themeTarget = (ThemeTarget)o; if (themeTarget == null) { continue; } themeTarget.PropertyId = themeData.FontAssetLabels[index].Id; themeTarget.UpdateTarget(themeData); } } else { DoozyUtils.UndoRecordObject(target, UILabels.UpdateValue); target.PropertyId = themeData.FontAssetLabels[index].Id; target.UpdateTarget(themeData); } } GUI.color = initialGUIColor; GUILayout.Space(DGUI.Properties.Space(2)); GUI.enabled = selected; DGUI.Label.Draw(fontAssetProperty.Label, selected ? Size.L : Size.M); GUI.enabled = true; } GUILayout.EndHorizontal(); GUILayout.Space(DGUI.Properties.Space()); } }
private bool DrawGeneralPluginBox(string pluginName, bool hasPlugin, bool usePlugin, string pluginDefineSymbol, GUIStyle pluginIcon) { bool value = usePlugin; GUILayout.BeginVertical(DGUI.Background.Style(CornerType.Round), GUILayout.Height(PLUGIN_BOX_HEIGHT)); { GUILayout.Space(PLUGIN_BOX_PADDING); GUI.enabled = !EditorApplication.isCompiling; { GUILayout.BeginHorizontal(); { GUILayout.Space(PLUGIN_BOX_PADDING); DGUI.Icon.Draw(pluginIcon, PLUGIN_BOX_ICON_SIZE, Color.white); GUILayout.Space(PLUGIN_BOX_PADDING); GUILayout.BeginVertical(); { DGUI.Label.Draw(pluginName, Size.XL, DGUI.Colors.DisabledTextColorName); GUILayout.Space(2); GUI.enabled = !EditorApplication.isCompiling && hasPlugin; DGUI.Label.Draw(EditorApplication.isCompiling ? UILabels.Compiling + "..." : hasPlugin ? UILabels.Installed : UILabels.NotInstalled, Size.M, DGUI.Colors.DisabledTextColorName); } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); if (DGUI.Button.Draw(usePlugin ? UILabels.Enabled : UILabels.Disabled, Size.M, usePlugin ? ColorName.Green : DGUI.Colors.DarkOrLightColorName, usePlugin ? ColorName.Green : DGUI.Colors.LightOrDarkColorName, usePlugin, PLUGIN_BOX_ICON_SIZE, 80)) { if (DoozyUtils.DisplayDialog((usePlugin ? UILabels.Disable : UILabels.Enable) + " " + pluginName, UILabels.ScriptingDefineSymbol + ": " + pluginDefineSymbol + "\n\n" + (usePlugin ? UILabels.RemoveSymbolFromAllBuildTargetGroups : UILabels.AddSymbolToAllBuildTargetGroups), UILabels.Yes, UILabels.No)) { DoozySettings.Instance.UndoRecord(usePlugin ? UILabels.DisablePlugin : UILabels.EnablePlugin); DoozySettings.Instance.SetDirty(false); m_needsSave = true; s_needsToUpdateScriptingDefineSymbols = true; value = !value; } } GUILayout.Space(PLUGIN_BOX_PADDING); } GUILayout.EndHorizontal(); } GUI.enabled = true; } GUILayout.EndVertical(); return(value); }
private static void CreateComponent(MenuCommand menuCommand) { var go = new GameObject(MenuUtils.UIToggle_GameObject_Name, typeof(RectTransform), typeof(Toggle), typeof(UIToggle)); GameObjectUtility.SetParentAndAlign(go, GetParent(menuCommand.context as GameObject)); Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); //undo option var uiToggle = go.GetComponent <UIToggle>(); uiToggle.RectTransform.Center(true); uiToggle.RectTransform.sizeDelta = new Vector2(UIToggleSettings.DEFAULT_BUTTON_WIDTH, UIToggleSettings.DEFAULT_BUTTON_HEIGHT); GameObject background = DoozyUtils.CreateBackgroundImage(go); var backgroundRectTransform = background.GetComponent <RectTransform>(); backgroundRectTransform.anchorMin = new Vector2(0, 1); backgroundRectTransform.anchorMax = new Vector2(0, 1); backgroundRectTransform.anchoredPosition = new Vector2(10, -10); backgroundRectTransform.sizeDelta = new Vector2(20, 20); var backgroundImage = background.GetComponent <Image>(); backgroundImage.sprite = UnityResources.UISprite; backgroundImage.type = Image.Type.Sliced; backgroundImage.fillCenter = true; var checkmark = new GameObject("Checkmark", typeof(RectTransform), typeof(Image)); GameObjectUtility.SetParentAndAlign(checkmark, background); var checkmarkRectTransform = checkmark.GetComponent <RectTransform>(); checkmarkRectTransform.ResetLocalScaleToOne(); checkmarkRectTransform.AnchorMinToZero(); checkmarkRectTransform.AnchorMaxToOne(); checkmarkRectTransform.anchoredPosition = new Vector2(0, 0); checkmarkRectTransform.SizeDeltaToZero(); checkmarkRectTransform.CenterPivot(); var checkmarkImage = checkmark.GetComponent <Image>(); checkmarkImage.sprite = UnityResources.Checkmark; checkmarkImage.type = Image.Type.Simple; checkmarkImage.fillCenter = true; checkmarkImage.color = DoozyUtils.CheckmarkColor; #if dUI_TextMeshPro CreateTextMeshProLabel(uiToggle); #else CreateTextLabel(uiToggle); #endif uiToggle.Toggle.interactable = true; uiToggle.Toggle.transition = Selectable.Transition.ColorTint; uiToggle.Toggle.targetGraphic = backgroundImage; uiToggle.Toggle.graphic = checkmarkImage; uiToggle.Toggle.isOn = true; Selection.activeObject = go; //select the newly created gameObject }
protected override void OnDestroy() { base.OnDestroy(); if (!m_needsSave) { return; } Save(); DoozyUtils.ClearProgressBar(); }
public virtual void UpdateNodeName(string newName) { if (string.IsNullOrEmpty(newName)) { return; } DoozyUtils.UndoRecordObject(BaseNode, "Rename"); BaseNode.SetName(newName); NodeUpdated = true; }
public static void DrawColorProperties(ThemeData themeData, int propertyIndex, SerializedObject serializedObject, Object[] targets, ThemeTarget target, Color initialGUIColor) { GUIStyle colorButtonStyle = Styles.GetStyle(Styles.StyleName.ColorButton); GUIStyle colorButtonSelectedStyle = Styles.GetStyle(Styles.StyleName.ColorButtonSelected); for (int i = 0; i < themeData.ColorLabels.Count; i++) { LabelId colorProperty = themeData.ColorLabels[i]; int index = i; bool selected = i == propertyIndex; GUILayout.BeginHorizontal(); { if (!selected) { GUILayout.Space((colorButtonSelectedStyle.fixedWidth - colorButtonStyle.fixedWidth) / 2); } GUI.color = themeData.ActiveVariant.Colors[i].Color; { if (GUILayout.Button(GUIContent.none, selected ? colorButtonSelectedStyle : colorButtonStyle)) { if (serializedObject.isEditingMultipleObjects) { DoozyUtils.UndoRecordObjects(targets, UILabels.UpdateValue); foreach (Object o in targets) { var themeTarget = (ThemeTarget)o; if (themeTarget == null) { continue; } themeTarget.PropertyId = themeData.ColorLabels[index].Id; themeTarget.UpdateTarget(themeData); } } else { DoozyUtils.UndoRecordObject(target, UILabels.UpdateValue); target.PropertyId = themeData.ColorLabels[index].Id; target.UpdateTarget(themeData); } } } GUI.color = initialGUIColor; GUILayout.Space(DGUI.Properties.Space(2)); GUI.enabled = selected; DGUI.Label.Draw(colorProperty.Label, selected ? Size.L : Size.M, selected ? colorButtonSelectedStyle.fixedHeight : colorButtonStyle.fixedHeight); GUI.enabled = true; } GUILayout.EndHorizontal(); GUILayout.Space(DGUI.Properties.Space()); } }
protected override void OnDestroy() { base.OnDestroy(); if (!m_needsSave) { return; } DoozySettings.Instance.AssetDatabaseSaveAssetsNeeded = true; DoozySettings.Instance.SaveAndRefreshAssetDatabase(); DoozyUtils.ClearProgressBar(); }
/// <summary> [Editor Only] Performs a deep search through the project for any unregistered UIAnimationDatabase asset files and adds them to the corresponding Database </summary> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void SearchForUnregisteredDatabases(bool saveAssets) { DoozyUtils.DisplayProgressBar("UIAnimations", "Initializing", 0.1f); Initialize(); DoozyUtils.DisplayProgressBar("UIAnimations", "Searching for databases", 0.3f); bool foundUnregisteredDatabase = false; UIAnimationDatabase[] array = Resources.LoadAll <UIAnimationDatabase>(""); if (array == null || array.Length == 0) { DoozyUtils.ClearProgressBar(); return; } DoozyUtils.DisplayProgressBar("UIAnimations", "Updating databases", 0.5f); foreach (UIAnimationDatabase foundDatabase in array) { UIAnimationsDatabase database = Get(foundDatabase.DataType); if (database == null) { continue; } if (database.Contains(foundDatabase)) { continue; } database.AddUIAnimationDatabase(foundDatabase); foundUnregisteredDatabase = true; } if (!foundUnregisteredDatabase) { DoozyUtils.ClearProgressBar(); return; } DoozyUtils.DisplayProgressBar("UIAnimations", "Update Show", 0.6f); Show.Update(); DoozyUtils.DisplayProgressBar("UIAnimations", "Update Hide", 0.6f); Hide.Update(); DoozyUtils.DisplayProgressBar("UIAnimations", "Update Loop", 0.7f); Loop.Update(); DoozyUtils.DisplayProgressBar("UIAnimations", "Update Punch", 0.8f); Punch.Update(); DoozyUtils.DisplayProgressBar("UIAnimations", "Update State", 0.9f); State.Update(); DoozyUtils.DisplayProgressBar("UIAnimations", "Saving database", 1f); SetDirty(saveAssets); DoozyUtils.ClearProgressBar(); }
public static void Run() { CreateSettingsAssets(); CreateDatabaseAssets(); RegenerateDatabaseAssets(); ProcessorsSettings.Instance.RunDoozyAssetsProcessor = false; ProcessorsSettings.Instance.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Saving Processor Settings...", 0.95f); DoozyUtils.SaveAssets(); DoozyUtils.ClearProgressBar(); }
private void DrawRecentOpenedGraphs() { GUILayout.Label(UILabels.Recent, DGUI.Label.Style(Size.S, TextAlign.Center, DGUI.Colors.DisabledTextColorName), GUILayout.ExpandWidth(true), GUILayout.Height(DoozyWindowSettings.Instance.ToolbarHeaderHeight)); GUILayout.BeginHorizontal(); { GUILayout.Space(DGUI.Properties.Space(4)); m_recentOpenedGraphsScroll = GUILayout.BeginScrollView(m_recentOpenedGraphsScroll); { GUILayout.BeginVertical(); { foreach (Graph recentlyOpenedGraph in NodyWindowSettings.Instance.RecentlyOpenedGraphs) { if (recentlyOpenedGraph == null) { continue; } GUILayout.BeginHorizontal(); { if (DGUI.Button.Dynamic.DrawIconButton(Styles.GetStyle(recentlyOpenedGraph.IsSubGraph ? Styles.StyleName.IconSubGraph : Styles.StyleName.IconGraph), recentlyOpenedGraph.name, Size.S, TextAlign.Left, DGUI.Colors.DisabledBackgroundColorName, DGUI.Colors.DisabledTextColorName, DGUI.Properties.SingleLineHeight + DGUI.Properties.Space(4))) { LoadGraph(recentlyOpenedGraph); break; } if (DGUI.Button.IconButton.Minus(DGUI.Properties.SingleLineHeight + DGUI.Properties.Space(4))) { DoozyUtils.UndoRecordObject(NodyWindowSettings.Instance, "Remove Recent"); NodyWindowSettings.Instance.RecentlyOpenedGraphs.Remove(recentlyOpenedGraph); NodyWindowSettings.Instance.SetDirty(false); break; } } GUILayout.EndHorizontal(); GUILayout.Space(DGUI.Properties.Space(2)); } } GUILayout.EndVertical(); } GUILayout.EndScrollView(); GUILayout.Space(DGUI.Properties.Space(4)); } GUILayout.EndHorizontal(); }
private void DrawDropZone() { GUILayout.Label(GUIContent.none, GUILayout.ExpandWidth(true), GUILayout.Height(0)); Rect lastRect = GUILayoutUtility.GetLastRect(); var dropRect = new Rect(lastRect.x + DGUI.Properties.Space(), lastRect.y - 2, DGUI.Properties.DefaultFieldWidth * 5, DGUI.Properties.SingleLineHeight); //calculate rect bool containsMouse = dropRect.Contains(Event.current.mousePosition); if (containsMouse) { DGUI.Colors.SetNormalGUIColorAlpha(); switch (Event.current.type) { case EventType.DragUpdated: bool containsAudioClip = DragAndDrop.objectReferences.OfType <AudioClip>().Any(); DragAndDrop.visualMode = containsAudioClip ? DragAndDropVisualMode.Copy : DragAndDropVisualMode.Rejected; Event.current.Use(); Repaint(); break; case EventType.DragPerform: IEnumerable <AudioClip> audioClips = DragAndDrop.objectReferences.OfType <AudioClip>(); bool undoRecorded = false; foreach (AudioClip audioClip in audioClips) { if (Target.Contains(audioClip)) { continue; } if (!undoRecorded) { DoozyUtils.UndoRecordObject(Target, UILabels.AddSounds); undoRecorded = true; } Target.Sounds.Add(new AudioData(audioClip)); Target.SetDirty(false); } Event.current.Use(); Repaint(); break; } } DGUI.Doozy.DrawDropZone(dropRect, containsMouse); GUILayout.Space(dropRect.width - DGUI.Properties.Space(2)); }
/// <summary> Adds GestureListener to scene and returns a reference to it </summary> private static GestureListener AddToScene(GameObject parent, bool selectGameObjectAfterCreation = false) { var result = DoozyUtils.AddToScene <GestureListener>(MenuUtils.GestureListener_GameObject_Name, false, selectGameObjectAfterCreation); #if UNITY_EDITOR GameObjectUtility.SetParentAndAlign(result.gameObject, parent); #endif if (result.transform.root.GetComponent <RectTransform>() == null) { return(result); //check to see if it was added to the UI or not } result.gameObject.AddComponent <RectTransform>(); //was added to the UI -> add a RectTransform component result.GetComponent <RectTransform>().localScale = Vector3.one; //reset the RectTransform component return(result); }
/// <summary> Refresh the entire database by removing empty, duplicate and unnamed entries, sorting the database and updating the names list </summary> /// <param name="showProgress"> Should a progress window be shown while executing the action </param> /// <param name="performUndo"> Record changes? </param> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void RefreshThemeVariants(bool showProgress, bool performUndo, bool saveAssets) { if (showProgress) { DoozyUtils.DisplayProgressBar(UILabels.ThemeName + ": " + ThemeName, UILabels.RefreshDatabase, 0.1f); } if (performUndo) { UndoRecord(UILabels.RefreshDatabase); } if (showProgress) { DoozyUtils.DisplayProgressBar(UILabels.ThemeName + ": " + ThemeName, UILabels.RefreshDatabase, 0.2f); } bool addedDefaultColorLabels = ColorLabels.Count == 0; //if the color properties list is empty -> add the default color labels if (addedDefaultColorLabels) { AddDefaultColorLabels(); } if (showProgress) { DoozyUtils.DisplayProgressBar(UILabels.ThemeName + ": " + ThemeName, UILabels.RefreshDatabase, 0.3f); } bool addedDefaultVariant = AddDefaultVariant(); if (showProgress) { DoozyUtils.DisplayProgressBar(UILabels.ThemeName + ": " + ThemeName, UILabels.RefreshDatabase, 0.6f); } UpdateVariantsNames(false); if (showProgress) { DoozyUtils.DisplayProgressBar(UILabels.ThemeName + ": " + ThemeName, UILabels.RefreshDatabase, 0.7f); } if (addedDefaultColorLabels || addedDefaultVariant) { SetDirty(saveAssets); } if (showProgress) { DoozyUtils.DisplayProgressBar(UILabels.ThemeName + ": " + ThemeName, UILabels.RefreshDatabase, 1f); } if (showProgress) { DoozyUtils.ClearProgressBar(); } }
private static void RegenerateDatabaseAssets(bool saveAssets = true) { DoozyUtils.ClearProgressBar(); //SOUNDY DoozyUtils.DisplayProgressBar("Hold on...", "Soundy - Search For Unregistered Databases", 0.1f); SoundySettings.Database.SearchForUnregisteredDatabases(false); DoozyUtils.DisplayProgressBar("Hold on...", "Soundy - Refresh", 0.15f); SoundySettings.Database.RefreshDatabase(false, true); //THEMES DoozyUtils.DisplayProgressBar("Hold on...", "Themes - Search For Unregistered Themes", 0.2f); ThemesSettings.Database.SearchForUnregisteredThemes(false); DoozyUtils.DisplayProgressBar("Hold on...", "Themes - Refresh", 0.25f); ThemesSettings.Database.RefreshDatabase(false, true); //UIAnimations DoozyUtils.DisplayProgressBar("Hold on...", "UIAnimations - Search For Unregistered Databases", 0.3f); UIAnimations.Instance.SearchForUnregisteredDatabases(true); //UIButtons DoozyUtils.DisplayProgressBar("Hold on...", "Buttons - Search For Unregistered Databases", 0.4f); UIButtonSettings.Database.SearchForUnregisteredDatabases(true); //UICanvases DoozyUtils.DisplayProgressBar("Hold on...", "Canvases - Search For Unregistered Databases", 0.6f); UICanvasSettings.Database.SearchForUnregisteredDatabases(true); //UIDrawers DoozyUtils.DisplayProgressBar("Hold on...", "Drawers - Search For Unregistered Databases", 0.7f); UIDrawerSettings.Database.SearchForUnregisteredDatabases(true); //UIViews DoozyUtils.DisplayProgressBar("Hold on...", "Views - Search For Unregistered Databases", 0.8f); UIViewSettings.Database.SearchForUnregisteredDatabases(true); //UIPopups DoozyUtils.DisplayProgressBar("Hold on...", "Popups - Search For Unregistered Databases", 0.9f); UIPopupSettings.Database.SearchForUnregisteredLinks(true); if (saveAssets) { DoozyUtils.DisplayProgressBar("Hold on...", "Saving Assets...", 0.95f); DoozyUtils.SaveAssets(); } DoozyUtils.ClearProgressBar(); }
/// <summary> [Editor Only] Performs a deep search through the project for any unregistered ListOfNames asset files and adds them to the database. The search is done only in all the Resources folders. </summary> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void SearchForUnregisteredDatabases(bool saveAssets) { string title = UILabels.Database + ": " + DatabaseType; // ProgressBar Title string info = UILabels.Search; // ProgressBar Info DoozyUtils.DisplayProgressBar(title, info, 0.1f); bool foundUnregisteredDatabase = false; ListOfNames[] array = Resources.LoadAll <ListOfNames>(""); if (array == null || array.Length == 0) { DoozyUtils.ClearProgressBar(); return; } if (Categories == null) { Categories = new List <ListOfNames>(); } for (int i = 0; i < array.Length; i++) { DoozyUtils.DisplayProgressBar(title, info, 0.1f + 0.8f * (i + 1) / array.Length); ListOfNames foundList = array[i]; if (foundList.DatabaseType != DatabaseType) { continue; } if (Categories.Contains(foundList)) { continue; } Categories.Add(foundList); foundUnregisteredDatabase = true; } DoozyUtils.DisplayProgressBar(title, info, 1f); if (!foundUnregisteredDatabase) { DoozyUtils.ClearProgressBar(); return; } UpdateListOfCategoryNames(); SetDirty(saveAssets); DoozyUtils.ClearProgressBar(); }
/// <summary> /// Refreshes the entire database by adding removing empty and null entries, /// sorting the database and updating the category names list. /// </summary> /// <param name="performUndo"> Record changes? </param> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void RefreshDatabase(bool performUndo, bool saveAssets) { string title = UILabels.Database + ": UIPopup"; // ProgressBar Title string info = UILabels.RefreshDatabase; // ProgressBar Info DoozyUtils.DisplayProgressBar(title, info, 0.1f); if (performUndo) { UndoRecord(UILabels.RefreshDatabase); } DoozyUtils.DisplayProgressBar(title, info, 0.4f); RemoveUnreferencedData(false); DoozyUtils.DisplayProgressBar(title, info, 0.8f); Sort(false, false); UpdateListOfPopupNames(); DoozyUtils.DisplayProgressBar(title, info, 1f); SetDirty(saveAssets); DoozyUtils.ClearProgressBar(); }
/// <summary> [Editor Only] Performs a deep search through the project for any unregistered UIPopupLink asset files and adds them to the database. The search is done only in all the Resources folders. </summary> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void SearchForUnregisteredLinks(bool saveAssets) { string title = UILabels.Database + ": UIPopup"; // ProgressBar Title string info = UILabels.Search; // ProgressBar Info DoozyUtils.DisplayProgressBar(title, info, 0.1f); bool foundUnregisteredLink = false; UIPopupLink[] array = Resources.LoadAll <UIPopupLink>(""); if (array == null || array.Length == 0) { DoozyUtils.ClearProgressBar(); return; } if (Popups == null) { Popups = new List <UIPopupLink>(); } for (int i = 0; i < array.Length; i++) { DoozyUtils.DisplayProgressBar(title, info, 0.1f + 0.8f * (i + 1) / array.Length); UIPopupLink link = array[i]; if (Popups.Contains(link)) { continue; } Popups.Add(link); foundUnregisteredLink = true; } DoozyUtils.DisplayProgressBar(title, info, 1f); if (!foundUnregisteredLink) { DoozyUtils.ClearProgressBar(); return; } UpdateListOfPopupNames(); SetDirty(saveAssets); DoozyUtils.ClearProgressBar(); }
/// <summary> Iterates through all the referenced UIAnimationDatabase databases and populates them with any UIAnimationData </summary> private void AddUnreferencedPresets() { #if UNITY_EDITOR bool saveAssets = false; if (Databases == null) { Databases = new List <UIAnimationDatabase>(); } foreach (UIAnimationDatabase database in Databases) { Object[] objects = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(database)); //load all sub assets if (objects == null) { return; //make sure they are not null } List <UIAnimationData> foundData = objects.OfType <UIAnimationData>().ToList(); //create a list of all the found sub assets bool databaseUpdated = false; //mark true if any changes were performed on the database foreach (UIAnimationData data in foundData) { if (database.Contains(data)) { continue; } database.Database.Add(data); databaseUpdated = true; } if (!databaseUpdated) { continue; } database.SetDirty(false); saveAssets = true; } if (saveAssets) { UpdateDatabaseNames(); DoozyUtils.SaveAssets(); } #endif }
/// <summary> [Editor Only] Renames an UIAnimationData animation name (including the asset filename). Returns TRUE if the operation was successful </summary> /// <param name="oldAnimationName"> The previous animation name</param> /// <param name="newAnimationName"> The new animation name </param> private void Rename(string oldAnimationName, string newAnimationName) { UIAnimationData data = Get(oldAnimationName); if (data == null) { return; } newAnimationName = newAnimationName.Trim(); if (Contains(newAnimationName)) { return; } DoozyUtils.UndoRecordObjects(new Object[] { data, this }, UILabels.Rename); data.Name = newAnimationName; data.name = data.Name; data.SetDirty(false); SetDirty(false); UpdateAnimationNames(true); }
/// <summary> [Editor Only] Perform a deep search through the project for any unregistered ThemeData asset files and adds them to the database. The search is done only in all the Resources folders. </summary> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void SearchForUnregisteredThemes(bool saveAssets) { DoozyUtils.DisplayProgressBar(UILabels.SearchForThemes, UILabels.Search, 0.1f); bool foundUnregisteredThemeData = false; ThemeData[] array = Resources.LoadAll <ThemeData>(""); if (array == null || array.Length == 0) { DoozyUtils.ClearProgressBar(); return; } if (Themes == null) { Themes = new List <ThemeData>(); } for (int i = 0; i < array.Length; i++) { ThemeData foundThemeData = array[i]; DoozyUtils.DisplayProgressBar(UILabels.SearchForThemes, UILabels.Search, 0.1f + 0.1f + 0.7f * (i + 1) / array.Length); if (Themes.Contains(foundThemeData)) { continue; } AddTheme(foundThemeData, false); foundUnregisteredThemeData = true; } if (!foundUnregisteredThemeData) { DoozyUtils.ClearProgressBar(); return; } DoozyUtils.DisplayProgressBar(UILabels.SearchForThemes, UILabels.Search, 0.9f); UpdateThemesNames(); SetDirty(saveAssets); DoozyUtils.ClearProgressBar(); }
private static void CreateDatabaseAssets() { DoozyUtils.ClearProgressBar(); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.1f); UIAnimations.Instance.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.2f); SoundySettings.Database.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.3f); UIButtonSettings.Database.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.5f); UICanvasSettings.Database.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.7f); UIDrawerSettings.Database.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.8f); UIPopupSettings.Database.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Creating Database Assets...", 0.9f); UIViewSettings.Database.SetDirty(false); DoozyUtils.DisplayProgressBar("Hold On", "Saving Database Assets...", 0.95f); DoozyUtils.SaveAssets(); DoozyUtils.ClearProgressBar(); }
/// <summary> Adds ProgressorGroup to scene and returns a reference to it </summary> private static ProgressorGroup AddToScene(bool selectGameObjectAfterCreation = false) { return(DoozyUtils.AddToScene <ProgressorGroup>(MenuUtils.ProgressorGroup_GameObject_Name, false, selectGameObjectAfterCreation)); }
/// <summary> Records any changes done on the object after this function </summary> /// <param name="undoMessage"> The title of the action to appear in the undo history (i.e. visible in the undo menu) </param> public void UndoRecord(string undoMessage) { DoozyUtils.UndoRecordObject(this, undoMessage); }
/// <summary> [Editor Only] Marks target object as dirty. (Only suitable for non-scene objects) </summary> /// <param name="saveAssets"> Write all unsaved asset changes to disk? </param> public void SetDirty(bool saveAssets) { DoozyUtils.SetDirty(this, saveAssets); }
private static void CreateComponent(MenuCommand menuCommand) { DoozyUtils.AddToScene <ColorTargetTextMeshPro>(MenuUtils.ColorTargetTextMeshPro_GameObject_Name, false, true); }
/// <summary> Adds TouchDetector to scene and returns a reference to it </summary> private static TouchDetector AddToScene(bool selectGameObjectAfterCreation = false) { return(DoozyUtils.AddToScene <TouchDetector>(MenuUtils.TouchDetector_GameObject_Name, true, selectGameObjectAfterCreation)); }
/// <summary> Adds GameEventsManager to scene and returns a reference to it </summary> public static GameEventManager AddToScene(bool selectGameObjectAfterCreation = false) { return(DoozyUtils.AddToScene <GameEventManager>(MenuUtils.GameEventManager_GameObject_Name, true, selectGameObjectAfterCreation)); }
private static void CreateComponent(MenuCommand menuCommand) { DoozyUtils.AddToScene <ColorTargetSelectable>(MenuUtils.ColorTargetSelectable_GameObject_Name, false, true); }
// ReSharper disable once MemberCanBePrivate.Global /// <summary> Adds SceneDirector to scene and returns a reference to it </summary> public static SceneDirector AddToScene(bool selectGameObjectAfterCreation = false) { return(DoozyUtils.AddToScene <SceneDirector>(MenuUtils.SceneDirector_GameObject_Name, true, selectGameObjectAfterCreation)); }
/// <summary> Add ThemeManager to scene and get a reference to it </summary> private static ThemeManager AddToScene(bool selectGameObjectAfterCreation = false) { return(DoozyUtils.AddToScene <ThemeManager>(MenuUtils.ThemeManager_GameObject_Name, true, selectGameObjectAfterCreation)); }