修改锚点窗口对entry类的依赖,现在可以自行通过泛型扩展。
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace XericUI.VisualForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 虚拟窗体基类,提供基础的窗体标记功能
|
||||
/// </summary>
|
||||
[AddComponentMenu("Xeric UI Vessel/AnchorWindow/XvFormBase")]
|
||||
public class XvFormBase : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private string m_FormID;
|
||||
|
||||
/// <summary>
|
||||
/// 窗体唯一标识
|
||||
/// </summary>
|
||||
public string FormID
|
||||
{
|
||||
get => m_FormID;
|
||||
set => m_FormID = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 窗体是否处于活动状态
|
||||
/// </summary>
|
||||
public bool IsFormActive => gameObject.activeInHierarchy && enabled;
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
TryGenerateFormID();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 尝试自动生成FormID(如果当前为空)
|
||||
/// </summary>
|
||||
private void TryGenerateFormID()
|
||||
{
|
||||
if (string.IsNullOrEmpty(m_FormID))
|
||||
{
|
||||
m_FormID = ((uint)GetInstanceID()).ToString();
|
||||
}
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
protected virtual void OnValidate()
|
||||
{
|
||||
TryGenerateFormID();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user