From 89343a7a0909e5244a3b69c4db1294de4536243b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 15 十二月 2025 18:15:22 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则

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

diff --git a/Main/System/Battle/BattleObject/BattleObject.cs b/Main/System/Battle/BattleObject/BattleObject.cs
index d0a4b6e..41176c9 100644
--- a/Main/System/Battle/BattleObject/BattleObject.cs
+++ b/Main/System/Battle/BattleObject/BattleObject.cs
@@ -344,14 +344,14 @@
             {
                 PushDropItems(battleHurtParam.battleDrops);
             }
-            battleField.OnObjsDead(new List<HB422_tagMCTurnFightObjDead>() { battleHurtParam.deadPack });
+            battleField.OnObjsDead(new List<BattleDeadPack>() { battleHurtParam.deadPack });
 
         }
         else
         {
             if (dmgInfo.IsType(DamageType.Block))
             {
-                battleField.battleEffectMgr.PlayEffect(this, BattleConst.BlockEffectID, heroRectTrans, Camp);
+                battleField.battleEffectMgr.PlayEffect(this, BattleConst.BlockEffectID, heroRectTrans, Camp, teamHero.modelScale);
             }
             // else
             // {
@@ -359,7 +359,7 @@
             {
                 if (!buffMgr.isControled[BattleConst.HardControlGroup])
                 {
-                    battleField.soundManager.PlayEffectSound(teamHero.heroConfig.HitSFX);
+                    battleField.soundManager.PlayEffectSound(teamHero.heroConfig.HitSFX, false);
                     motionBase.PlayAnimation(MotionName.hit, false);
                 }
             }
@@ -436,16 +436,29 @@
         battleField.battleTweenMgr.OnPlayTween(tween);
     }
 
-    public virtual void OnDeath(Action _onDeathAnimationComplete)
+    public virtual void OnDeath(Action _onDeathAnimationComplete, bool withoutAnime = false)
     {
         buffMgr.RemoveAllBuff();
-        battleField.soundManager.PlayEffectSound(teamHero.heroConfig.DeathSFX);
-        motionBase.PlayDeadAnimation(() =>
+        battleField.soundManager.PlayEffectSound(teamHero.heroConfig.DeathSFX, false);
+        if (withoutAnime)
         {
-            teamHero.isDead = true;
-            OnDeadAnimationComplete();
+            SetDeath();
             _onDeathAnimationComplete?.Invoke();
-        });
+        }
+        else
+        {
+            motionBase.PlayDeadAnimation(() =>
+            {
+                SetDeath();
+                _onDeathAnimationComplete?.Invoke();
+            });
+        }
+    }
+
+    public void SetDeath()
+    {
+        teamHero.isDead = true;
+        OnDeadAnimationComplete();
     }
 
     protected virtual void OnDeadAnimationComplete()
@@ -460,11 +473,18 @@
     public void OnReborn(HB427_tagSCUseSkill.tagSCUseSkillHurt vNetData)
     {
         // 澶勭悊澶嶆椿閫昏緫
-        teamHero.curHp = GeneralDefine.GetFactValue(vNetData.CurHP, vNetData.CurHPEx);
-        // Debug.LogError("OnReborn " + teamHero.curHp);
-        teamHero.isDead = false;
-        heroGo.SetActive(true);
-        motionBase.ResetToIdleAnimation();
+        RebornRecordAction recordAction = new RebornRecordAction(battleField, this, () =>
+        {
+            battleField.OnObjReborn((uint)ObjID);
+
+            teamHero.curHp = GeneralDefine.GetFactValue(vNetData.CurHP, vNetData.CurHPEx);
+            heroRectTrans.anchoredPosition = Vector2.zero;
+            // Debug.LogError("OnReborn " + teamHero.curHp);
+            teamHero.isDead = false;
+            heroGo.SetActive(true);
+            motionBase.ResetForReborn();
+        });
+        battleField.recordPlayer.InsertRecord(recordAction);
     }
 
     // 浼ゅ杩樿鐪� 鏄惁闂伩 鏆村嚮 and so on 闇�瑕佹湁涓�涓狣amageType 鏈嶅姟鍣ㄥ簲璇ヤ細缁�

--
Gitblit v1.8.0