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/BattleField/RecordActions/SkillRecordAction.cs |   87 +++++++++++++++++++------------------------
 1 files changed, 39 insertions(+), 48 deletions(-)

diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index 80e4092..44e77c1 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -3,69 +3,58 @@
 
 public class SkillRecordAction : RecordAction
 {
-	public int SkillId;
-
-	public SkillConfig skillConfig;
-
 	protected SkillBase skillBase;
 
-	protected List<Dictionary<int, List<int>>> damageList = new List<Dictionary<int, List<int>>>();
-	
 	private bool isCast = false;
 
+	public SkillBase fromSkill = null;
 
-	public SkillRecordAction(int _SkillId, BattleField _battleField, BattleObject _battleObj)
-		: base(RecordActionType.Skill, _battleField, _battleObj)
+	public SkillRecordAction(BattleField _battleField, BattleObject _caster, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> packList)
+		: base(RecordActionType.Skill, _battleField, _caster)
 	{
-		SkillId = _SkillId;
+		// Debug.LogError("_caster == null : " + (_caster == null));
 
-		skillConfig = SkillConfig.Get(SkillId);
-
-		if (null == skillConfig)
-		{
-			Debug.LogError("鎵句笉鍒版妧鑳介厤缃� " + SkillId);
-		}
-
-		skillBase = SkillFactory.CreateSkill(skillConfig);
-
-		// _battleObj浣跨敤浜哠killId鐨勬妧鑳�
-		damageList = skillBase.GetDamageList(battleObject, battleField);
-	}
-
-	public SkillRecordAction(int _SkillId, BattleField _battleField, BattleObject _battleObj, List<Dictionary<int, List<int>>> _damageList)
-		: base(RecordActionType.Skill, _battleField, _battleObj)
-	{
-		SkillId = _SkillId;
-
-		skillConfig = SkillConfig.Get(SkillId);
-
-		if (null == skillConfig)
-		{
-			Debug.LogError("鎵句笉鍒版妧鑳介厤缃� " + SkillId);
-		}
-
-		skillBase = SkillFactory.CreateSkill(skillConfig);
-
-		damageList = _damageList;
-		// _battleObj浣跨敤浜哠killId鐨勬妧鑳�
+		skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
 	}
 
 	public override bool IsFinished()
 	{
+		if (null == skillBase)
+		{
+			return true;
+		}
 		return skillBase.IsFinished();
 	}
 
+	public bool IsFinishedForJudge()
+	{
+		if (null == skillBase)
+		{
+			return true;
+		}
+		return skillBase.IsFinishedForJudge();
+	}
 
-    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();
 		}
@@ -73,15 +62,17 @@
 		if (isCast)
 			return;
 
-		if (damageList.Count > 0)
+		if (fromSkill != null)
 		{
-			skillBase.Cast(battleObject, battleField, damageList);
-		}
-		else
-		{
-			skillBase.ForceFinished();
+			BattleDebug.LogError("cast skill from skill : " + fromSkill.skillConfig.SkillID);
 		}
 
+		// Debug.LogError("cast skill id is " + skillBase.skillConfig.SkillID);
+
+		skillBase.fromSkill = fromSkill;
+
+		skillBase.Cast();
+
 		isCast = true;
-    }
+	}
 }
\ No newline at end of file

--
Gitblit v1.8.0