From ee791f4c389d9a3f45f32532521eb20efd0d8a9a Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 15 九月 2025 10:25:49 +0800
Subject: [PATCH] 125 【战斗】战斗系统 层级问题处理

---
 Main/System/Battle/BattleObject/BattleObject.cs |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs
index dfe291d..d086b64 100644
--- a/Main/System/Battle/BattleObject/BattleObject.cs
+++ b/Main/System/Battle/BattleObject/BattleObject.cs
@@ -65,6 +65,8 @@
         }
     }
 
+    public int sortingOrder = 0;
+
     protected Action onDeathAnimationComplete;
 
     protected Renderer[] renderers;
@@ -96,8 +98,9 @@
         var heroInfoBarScale = heroInfoBar.transform.localScale;
         heroInfoBarScale.x *= Camp == BattleCamp.Red ? 1 : -1;
         heroInfoBar.transform.localScale = heroInfoBarScale;
-        
+
         heroInfoBar.SetActive(true);
+        SetToFront();
     }
 
 
@@ -271,7 +274,7 @@
         {
             motionBase.PlayAnimation(MotionName.hit, false);
         }
-    }       
+    }
 
     public void SuckHp(uint suckHP, SkillConfig skillConfig)
     {
@@ -280,7 +283,7 @@
 
     public void HurtByReflect(uint bounceHP, SkillConfig skillConfig)
     {
-        
+
     }
 
     //  闂伩寮�濮�
@@ -386,6 +389,7 @@
         heroRectTrans.anchoredPosition = Vector2.zero;
 
         heroInfoBar.SetActive(false);
+        SetToFront();
     }
 
     public void PushDropItems(BattleDrops _battleDrops)
@@ -407,8 +411,35 @@
         battleDrops = null;
     }
 
+    public void SetToBack()
+    {
+        sortingOrder = BattleConst.UnactiveHeroSortingOrder;
+        UpdateSortingOrder();
+    }
 
+    public void SetToFront()
+    {
+        sortingOrder = BattleConst.ActiveHeroSortingOrder;
+        UpdateSortingOrder();
+    }
 
+    private void UpdateSortingOrder()
+    {
+        if (null == renderers) return;
+
+        foreach (var renderer in renderers)
+        {
+            if (renderer != null)
+            {
+                renderer.sortingOrder = sortingOrder;
+            }
+        }
+    }
+
+    public int GetSortingOrder()
+    {
+        return sortingOrder;
+    }
 
 
 #if UNITY_EDITOR_STOP_USING

--
Gitblit v1.8.0