using UnityEngine; namespace BaseGames.UI.Theme { /// 主题角色种类。控制 应用何种令牌到目标组件。 public enum UIThemeRoleKind { // Graphic(Image / RawImage / Panel 等) Graphic_Primary, Graphic_Secondary, Graphic_Accent, Graphic_Background, Graphic_Success, Graphic_Warning, Graphic_Danger, // TMP_Text Text_Primary, Text_Secondary, Text_Header, Text_Disabled, // Button(应用 ColorBlock) Button, } /// /// 标记组件:告诉 当前节点扮演的视觉角色。 /// [DisallowMultipleComponent] public class UIThemeRole : MonoBehaviour { [SerializeField] private UIThemeRoleKind _kind = UIThemeRoleKind.Text_Primary; [SerializeField] private bool _overrideFontSize = false; public UIThemeRoleKind Kind => _kind; public bool OverrideFontSize => _overrideFontSize; } }