修改锚点窗口对entry类的依赖,现在可以自行通过泛型扩展。

This commit is contained in:
2026-06-15 09:26:24 +08:00
parent 856c395819
commit 922eb0e450
11 changed files with 394 additions and 26 deletions
+51
View File
@@ -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
}
}