Skip to content

Commit 5268526

Browse files
committed
feat(UI): 向IUIGroupHelper接口添加Depth属性并修改Handler方法签名
为IUIGroupHelper接口和UIGroupHelperBase基类添加Depth属性,用于获取界面组深度。 同时修改Handler方法的签名,增加depth参数并设置默认值,以支持在创建界面组辅助器时传入初始深度。
1 parent 360fd84 commit 5268526

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

Runtime/UI/IUIGroupHelper.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ namespace GameFrameX.UI.Runtime
3838
/// </summary>
3939
public interface IUIGroupHelper
4040
{
41+
/// <summary>
42+
/// 获取界面组深度。
43+
/// </summary>
44+
int Depth { get; }
45+
4146
/// <summary>
4247
/// 设置界面组深度。
4348
/// </summary>
@@ -51,6 +56,8 @@ public interface IUIGroupHelper
5156
/// <param name="groupName">界面组名称。</param>
5257
/// <param name="uiGroupHelperTypeName">界面组辅助器类型名。</param>
5358
/// <param name="customUIGroupHelper">自定义的界面组辅助器.</param>
54-
IUIGroupHelper Handler(Transform root, string groupName, string uiGroupHelperTypeName, IUIGroupHelper customUIGroupHelper);
59+
/// <param name="depth">界面组深度。</param>
60+
/// <returns>界面组辅助器。</returns>
61+
IUIGroupHelper Handler(Transform root, string groupName, string uiGroupHelperTypeName, IUIGroupHelper customUIGroupHelper, int depth = 0);
5562
}
5663
}

Runtime/UIComponent.IUIGroup.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ public bool AddUIGroup(string uiGroupName, int depth)
9898
}
9999

100100
#if ENABLE_UI_FAIRYGUI
101-
UIGroupHelperBase uiGroupHelper = (UIGroupHelperBase)m_CustomUIGroupHelper.Handler(m_InstanceFairyGUIRoot, uiGroupName, m_UIGroupHelperTypeName, m_CustomUIGroupHelper);
101+
UIGroupHelperBase uiGroupHelper = (UIGroupHelperBase)m_CustomUIGroupHelper.Handler(m_InstanceFairyGUIRoot, uiGroupName, m_UIGroupHelperTypeName, m_CustomUIGroupHelper, depth);
102102
#else
103-
UIGroupHelperBase uiGroupHelper = (UIGroupHelperBase)m_CustomUIGroupHelper.Handler(m_InstanceUGUIRoot, uiGroupName, m_UIGroupHelperTypeName, m_CustomUIGroupHelper);
103+
UIGroupHelperBase uiGroupHelper = (UIGroupHelperBase)m_CustomUIGroupHelper.Handler(m_InstanceUGUIRoot, uiGroupName, m_UIGroupHelperTypeName, m_CustomUIGroupHelper, depth);
104104
#endif
105105
if (uiGroupHelper == null)
106106
{

Runtime/UIGroupHelperBase.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ namespace GameFrameX.UI.Runtime
3939
[UnityEngine.Scripting.Preserve]
4040
public abstract class UIGroupHelperBase : MonoBehaviour, IUIGroupHelper
4141
{
42+
/// <summary>
43+
/// 获取界面组深度。
44+
/// </summary>
45+
public abstract int Depth { get; protected set; }
46+
4247
/// <summary>
4348
/// 设置界面组深度。
4449
/// </summary>
@@ -52,6 +57,7 @@ public abstract class UIGroupHelperBase : MonoBehaviour, IUIGroupHelper
5257
/// <param name="groupName">界面组名称。</param>
5358
/// <param name="uiGroupHelperTypeName">界面组辅助器类型名。</param>
5459
/// <param name="customUIGroupHelper">自定义的界面组辅助器.</param>
55-
public abstract IUIGroupHelper Handler(Transform root, string groupName, string uiGroupHelperTypeName, IUIGroupHelper customUIGroupHelper);
60+
/// <param name="depth">界面组深度。</param>
61+
public abstract IUIGroupHelper Handler(Transform root, string groupName, string uiGroupHelperTypeName, IUIGroupHelper customUIGroupHelper, int depth = 0);
5662
}
5763
}

0 commit comments

Comments
 (0)