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