From 8d42bc7ab52a3980df2778d2ee7757e60914e6e0 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 24 九月 2025 19:42:45 +0800
Subject: [PATCH] 125 【战斗】战斗系统 战斗封包处理 支持B426拆分FightAction 支持多重嵌套

---
 Main/System/Battle/Skill/SkillBase.cs |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index d73efa0..49f7c3c 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -1,9 +1,9 @@
 using System.Collections.Generic;
 using UnityEngine;
-using System;
 using DG.Tweening;
 using Spine;
 using System.Linq;
+using System;
 
 
 public class SkillBase
@@ -14,7 +14,7 @@
 
 	protected HB427_tagSCUseSkill tagUseSkillAttack;
 
-	protected SkillConfig skillConfig;
+	public SkillConfig skillConfig;
 
 	protected bool isFinished = false;
 
@@ -39,6 +39,10 @@
     public SkillBase(BattleObject _caster, SkillConfig _skillCfg, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> _packList, BattleField _battleField = null)
 	{
 		caster = _caster;
+		if (null == caster)
+		{
+			throw new Exception("SkillBase caster is null ");
+		}
 		skillConfig = _skillCfg;
 		tagUseSkillAttack = vNetData;
 		battleField = _battleField;
@@ -82,7 +86,9 @@
 	// 1路绉诲姩鍒拌窛绂婚樀瀹逛綅缃畁鐮佺殑璺濈锛堝2鍙蜂綅锛�5鍙蜂綅锛夐噴鏀撅紙鍗虫垬鍦轰腑澶绫伙級
 	public virtual void Cast()
 	{
-		EventBroadcast.Instance.Broadcast<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, battleField.guid, skillConfig, caster.teamHero);
+		string guid = battleField.guid;
+		TeamHero teamHero = caster.teamHero;
+		EventBroadcast.Instance.Broadcast<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, guid, skillConfig, teamHero);
 
 		//	楂樹寒鎵�鏈夋湰娆℃妧鑳界浉鍏崇殑鐩爣
 		HighLightAllTargets();
@@ -645,9 +651,8 @@
 			var pack = packList[0];
 			packList.RemoveAt(0);
 
-			if (pack is CustomHB426CombinePack)
+			if (pack is CustomHB426CombinePack combinePack)
 			{
-				var combinePack = pack as CustomHB426CombinePack;
 				if (combinePack.startTag.Tag.StartsWith("Skill_"))
 				{
 					BattleDebug.LogError("other skill casting " + combinePack.startTag.Tag);
@@ -657,6 +662,11 @@
 					otherSkillAction.ForceFinish();
 					return;
 				}
+			}
+			else if (pack is CustomB421ActionPack actionPack)
+			{
+				actionPack.Distribute();
+				return;
 			}
 			PackageRegedit.Distribute(pack);
 		}
@@ -688,6 +698,11 @@
 					return;
 				}
 			}
+			else if (pack is CustomB421ActionPack actionPack)
+			{
+				actionPack.Distribute();
+				return;
+			}
 			PackageRegedit.Distribute(pack);
 		}
 

--
Gitblit v1.8.0