WuhuIslandTesting/Library/PackageCache/com.unity.addressables@1.21.12/Editor/GUI/GUIElements/GUIUtility.cs

55 lines
2.3 KiB
C#
Raw Normal View History

2025-01-07 02:06:59 +01:00
using System.Collections.Generic;
using UnityEngine.UIElements;
namespace UnityEditor.AddressableAssets.GUIElements
{
internal static class GUIUtility
{
public static readonly string OpenManualTooltip = L10n.Tr("Open the relevant documentation entry.");
public const string HelpIconButtonClass = "icon-button__help-icon";
public const string MenuIconButtonClass = "icon-button__menu-icon";
public const string UIToolKitAssetsPath = "Packages/com.unity.addressables/Editor/GUI/GUIElements/";
public const string UxmlFilesPath = UIToolKitAssetsPath + "UXML/";
public const string StyleSheetsPath = UIToolKitAssetsPath + "StyleSheets/";
public const string RibbonUxmlPath = UxmlFilesPath + "Ribbon.uxml";
public const string RibbonUssPath = StyleSheetsPath + "Ribbon.uss";
public const string RibbonDarkUssPath = StyleSheetsPath + "Ribbon_dark.uss";
public const string RibbonLightUssPath = StyleSheetsPath + "Ribbon_light.uss";
public static void SetVisibility(VisualElement element, bool visible)
{
SetElementDisplay(element, visible);
}
public static void SetElementDisplay(VisualElement element, bool value)
{
if (element == null)
return;
element.style.display = value ? DisplayStyle.Flex : DisplayStyle.None;
element.style.visibility = value ? Visibility.Visible : Visibility.Hidden;
}
public static VisualElement Clone(this VisualTreeAsset tree, VisualElement target = null, string styleSheetPath = null, Dictionary<string, VisualElement> slots = null)
{
var ret = tree.CloneTree();
if (!string.IsNullOrEmpty(styleSheetPath))
ret.styleSheets.Add(AssetDatabase.LoadAssetAtPath<StyleSheet>(styleSheetPath));
if (target != null)
target.Add(ret);
ret.style.flexGrow = 1f;
return ret;
}
public static void SwitchClasses(this VisualElement element, string classToAdd, string classToRemove)
{
if (!element.ClassListContains(classToAdd))
element.AddToClassList(classToAdd);
element.RemoveFromClassList(classToRemove);
}
}
}