From ed9bf64c03bf5fee5e115645de5a975baaa9041d Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 09 一月 2026 11:04:53 +0800
Subject: [PATCH] 125 战斗 修改死亡表现 带动作的子技能同时触发导致的卡死

---
 Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 insertions(+), 1 deletions(-)

diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index 8f13aa1..e6cb300 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -5,6 +5,8 @@
 {
 	protected SkillBase skillBase;
 
+	public HB427_tagSCUseSkill hB427_TagSCUseSkill;
+
 	private bool isCast = false;
 
 	public SkillBase fromSkill = null;
@@ -15,12 +17,26 @@
 		// Debug.LogError("_caster == null : " + (_caster == null));
 
 		skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
-
+		hB427_TagSCUseSkill = vNetData;
 		if (null == skillBase)
 		{
 			BattleUtility.ForceFinishBattlePackList(battleField, packList);
 		}
+		else
+		{
+			//  璁㏒killBase鐭ラ亾鑷繁鐨凴ecordAction
+			skillBase.SetParentRecordAction(this);
+		}
 	}
+    public override bool IsNeedWaiting()
+    {
+		if (skillBase == null)
+		{
+			return false;
+		}
+        return !string.IsNullOrEmpty(skillBase.skillConfig.SkillMotionName);
+    }
+
 
 	public override bool IsFinished()
 	{
@@ -29,6 +45,16 @@
 			return true;
 		}
 		return skillBase.IsFinished();
+	}
+
+	//  妫�鏌ヨ嚜韬姩浣滄槸鍚﹀畬鎴愶紙涓嶅寘鎷瓙鑺傜偣锛�
+	public override bool IsActionCompleted()
+	{
+		if (null == skillBase)
+		{
+			return true;
+		}
+		return skillBase.IsFinishedForJudge();
 	}
 
 	public bool IsFinishedForJudge()
@@ -49,6 +75,23 @@
 		}
         base.ForceFinish();
     }
+	
+	public override bool CanStartExecution()
+	{
+		if (null == skillBase)
+		{
+			return false;
+		}
+
+		if (!skillBase.CanStartExecution())
+		{
+			return false;
+		}
+
+
+		return base.CanStartExecution();
+	}
+
 
 	public override void Run()
 	{
@@ -67,6 +110,8 @@
 		if (isCast)
 			return;
 
+		Played();
+
 		if (fromSkill != null)
 		{
 			BattleDebug.LogError("cast skill from skill : " + fromSkill.skillConfig.SkillID);

--
Gitblit v1.8.0