Skip to content

Commit 20e45ce

Browse files
committed
fix(UI): 修复UI组辅助器深度设置问题并优化创建逻辑
修复SetDepth方法未更新Depth属性的问题,确保深度值正确存储 优化Handler方法,增加深度参数并确保创建时应用正确深度 移除被注释的Canvas相关代码,保持代码清晰
1 parent 9c7ba02 commit 20e45ce

1 file changed

Lines changed: 29 additions & 3 deletions

File tree

Runtime/UGUIUIGroupHelper.cs

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,51 @@ namespace GameFrameX.UI.UGUI.Runtime
4242
[Preserve]
4343
public sealed class UGUIUIGroupHelper : UIGroupHelperBase
4444
{
45+
/// <summary>
46+
/// 获取界面组深度。
47+
/// </summary>
48+
public override int Depth { get; protected set; }
49+
4550
/// <summary>
4651
/// 设置界面组深度。
4752
/// </summary>
4853
/// <param name="depth">界面组深度。</param>
4954
public override void SetDepth(int depth)
5055
{
56+
Depth = depth;
5157
transform.localPosition = new Vector3(0, 0, depth * 1000);
5258
}
5359

54-
public override IUIGroupHelper Handler(Transform root, string groupName, string uiGroupHelperTypeName, IUIGroupHelper customUIGroupHelper)
60+
61+
/// <summary>
62+
/// 创建界面组。
63+
/// </summary>
64+
/// <param name="root">根节点。</param>
65+
/// <param name="groupName">界面组名称。</param>
66+
/// <param name="uiGroupHelperTypeName">界面组辅助器类型名。</param>
67+
/// <param name="customUIGroupHelper">自定义的界面组辅助器.</param>
68+
/// <param name="depth">界面组深度。</param>
69+
public override IUIGroupHelper Handler(Transform root, string groupName, string uiGroupHelperTypeName, IUIGroupHelper customUIGroupHelper, int depth = 0)
5570
{
71+
SetDepth(depth);
5672
GameObject component = new GameObject();
5773
var comName = groupName;
5874
component.name = comName;
5975
component.transform.SetParent(root, false);
60-
component.SetLayerRecursively(LayerMask.NameToLayer("UI"));
76+
var uiLayer = LayerMask.NameToLayer("UI");
77+
component.SetLayerRecursively(uiLayer);
78+
6179
RectTransform rectTransform = component.GetOrAddComponent<RectTransform>();
6280
rectTransform.MakeFullScreen();
63-
return GameFrameX.Runtime.Helper.CreateHelper(component, uiGroupHelperTypeName, (UIGroupHelperBase)customUIGroupHelper, 0);
81+
// var canvas = component.AddComponent<Canvas>();
82+
// // canvas.pixelPerfect = true;
83+
// // canvas.overridePixelPerfect = true;
84+
// canvas.sortingLayerID = uiLayer;
85+
// canvas.sortingLayerName = "UI";
86+
// canvas.overrideSorting = true;
87+
// canvas.additionalShaderChannels = AdditionalCanvasShaderChannels.Normal | AdditionalCanvasShaderChannels.Tangent | AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.TexCoord2 | AdditionalCanvasShaderChannels.TexCoord3;
88+
var uiGroupHelper = Helper.CreateHelper(component, uiGroupHelperTypeName, (UIGroupHelperBase)customUIGroupHelper, 0);
89+
return uiGroupHelper;
6490
}
6591
}
6692
}

0 commit comments

Comments
 (0)