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;
}
}