From ee791f4c389d9a3f45f32532521eb20efd0d8a9a Mon Sep 17 00:00:00 2001 From: yyl <yyl> Date: 星期一, 15 九月 2025 10:25:49 +0800 Subject: [PATCH] 125 【战斗】战斗系统 层级问题处理 --- Main/Component/UI/Common/RendererAdjuster.cs | 44 +++++++++++++++++++------------------------- 1 files changed, 19 insertions(+), 25 deletions(-) diff --git a/Main/Component/UI/Common/RendererAdjuster.cs b/Main/Component/UI/Common/RendererAdjuster.cs index 56b9b23..1a1977c 100644 --- a/Main/Component/UI/Common/RendererAdjuster.cs +++ b/Main/Component/UI/Common/RendererAdjuster.cs @@ -7,50 +7,42 @@ { public int renderQueue = 3000; - public Canvas canvas; - - public int sortingOrderOffset = 1; + public int sortingOrder = 0; public string customSortingLayer = "UI"; public List<Renderer> renderers = new List<Renderer>(); + + public Action<string, int> onSortingChanged; + + public void SetSortingOrder(int sortingOrder) + { + this.sortingOrder = sortingOrder; + UpdateComps(); + UpdateSortingOrder(); + } public void Awake() { UpdateComps(); } + protected void OnEnable() + { + UpdateComps(); + UpdateSortingOrder(); + } + protected void UpdateComps() { renderers.Clear(); renderers.AddRange(gameObject.GetComponentsInChildren<Renderer>(true)); - - canvas = GetComponentInParent<Canvas>(); - } - - public void SetParentCanvas(Canvas _canvas) - { - canvas = _canvas; - this.DelayFrame(UpdateSortingOrder); } public void UpdateSortingOrder() { - int canvasSortingOrder = 0; - - // 鑾峰彇鐖剁骇Canvas鐨勬帓搴忛『搴� - if (canvas != null) - { - canvasSortingOrder = canvas.sortingOrder; - } - else - { - // 濡傛灉娌℃湁鎵惧埌鐖剁骇Canvas锛屽垯浣跨敤榛樿鍊� - canvasSortingOrder = 0; - } - // 灏嗙壒鏁堢殑鎺掑簭椤哄簭璁剧疆涓篊anvas鎺掑簭椤哄簭鍔犱笂鍋忕Щ閲� - ApplySortingSettings(canvasSortingOrder + sortingOrderOffset, customSortingLayer); + ApplySortingSettings(sortingOrder, customSortingLayer); } private void ApplySortingSettings(int sortingOrder, string sortingLayer) @@ -68,5 +60,7 @@ } } } + + onSortingChanged?.Invoke(sortingLayer, sortingOrder); } } -- Gitblit v1.8.0