From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

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

diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index 74ba476..142b60f 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -7,28 +7,45 @@
 
 	private bool isCast = false;
 
-	public SkillRecordAction(BattleField _battleField, BattleObject _caster, H0604_tagUseSkillAttack vNetData)
+	public int fromSkillId = 0;
+
+	public SkillRecordAction(BattleField _battleField, BattleObject _caster, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> packList)
 		: base(RecordActionType.Skill, _battleField, _caster)
 	{
-		skillBase = SkillFactory.CreateSkill(_caster, vNetData, _battleField);
+		// Debug.LogError("_caster == null : " + (_caster == null));
+
+		skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
 	}
 
 	public override bool IsFinished()
 	{
+		if (null == skillBase)
+		{
+			return true;
+		}
 		return skillBase.IsFinished();
 	}
 
-
-    public override void Run()
+    public override void ForceFinish()
     {
-        base.Run();
+		//  璁剧疆缁撴潫flag 璁板緱娓呯┖motionBase閲岀殑浜嬩欢
+		if (null != skillBase)
+		{
+			skillBase.ForceFinished();
+		}
+        base.ForceFinish();
+    }
+
+	public override void Run()
+	{
+		base.Run();
 
 		if (null == skillBase)
 		{
 			return;
 		}
 
-		if (!skillBase.IsFinished())
+		if (isCast && !skillBase.IsFinished())
 		{
 			skillBase.Run();
 		}
@@ -36,8 +53,17 @@
 		if (isCast)
 			return;
 
+		if (fromSkillId > 0)
+		{
+			BattleDebug.LogError("cast skill from skill : " + fromSkillId);
+		}
+
+		// Debug.LogError("cast skill id is " + skillBase.skillConfig.SkillID);
+
+		skillBase.fromSkillId = fromSkillId;
+
 		skillBase.Cast();
 
 		isCast = true;
-    }
+	}
 }
\ No newline at end of file

--
Gitblit v1.8.0