using System; using System.Collections; using System.Collections.Generic; using System.Reflection; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.UI; namespace TFramework { [Serializable] public class UIBehaviour : Behaviour { private RectTransform _rt; /// /// 启用动画 /// [SerializeField] private bool enableAnim = false; public string m_uiAnimType; private UIAnimBase uIAnim; public RectTransform rectTransform => _rt = _rt ?? GetComponent(); public bool IsEnableAnim { get { if (enableAnim) { if (uIAnim == null) uIAnim = GlobalTool.CretaInstanceToCurrentDomain(m_uiAnimType); } return enableAnim; } set { enableAnim = value; } } [SerializeField] private bool isScriptUse; [SerializeField] private List variableInfos; [SerializeField] private string parnetPanel; public override void Start() { base.Start(); } private void OnEnable() { if (IsEnableAnim) uIAnim.EnableAnim(rectTransform); } private void OnDisable() { if (IsEnableAnim) uIAnim.DisableAnim(rectTransform); } #region Text /// /// 获取TextPro文本在本地化语言配置表的编号 /// /// public int GetLanguageId() { Text text = GetComponent(); if (text) return (text as LocalizedLanguageText) == null ? -1 : (text as LocalizedLanguageText).lacalizedLanguageId; else return -1; } #endregion } [Serializable] public class VariableInfo { public string variableName; public string compentType; } }