From 1a7b1b9fa3b539fa57f54a5d69aa9c01b0e5b0e9 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 11 十月 2025 16:48:55 +0800
Subject: [PATCH] 0312 增加引导路径配置错误警告
---
Main/System/Battle/Skill/SkillBase.cs | 76 ++++++++++++++++++++++++-------------
1 files changed, 49 insertions(+), 27 deletions(-)
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index 232a5ea..f7009d0 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -50,8 +50,7 @@
battleField = _battleField;
packList = _packList;
-
-
+ // Debug.LogError("start a skill id " + skillConfig.SkillID + " caster " + caster.teamHero.heroId + " pos " + caster.teamHero.positionNum + " camp " + caster.Camp);
}
public virtual void Run()
@@ -79,7 +78,10 @@
}
else
{
- otherSkillAction.Run();
+ if (moveFinished)
+ {
+ otherSkillAction.Run();
+ }
}
return;
}
@@ -89,6 +91,7 @@
// 1路绉诲姩鍒拌窛绂婚樀瀹逛綅缃畁鐮佺殑璺濈锛堝2鍙蜂綅锛�5鍙蜂綅锛夐噴鏀撅紙鍗虫垬鍦轰腑澶绫伙級
public virtual void Cast()
{
+ // Debug.LogError("Cast skill " + skillConfig.SkillID + " cast position " + skillConfig.CastPosition + " cast mode " + skillConfig.castMode);
string guid = battleField.guid;
TeamHero teamHero = caster.teamHero;
EventBroadcast.Instance.Broadcast<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, guid, skillConfig, teamHero);
@@ -162,6 +165,8 @@
_onComplete?.Invoke();
}, speed);
battleField.battleTweenMgr.OnPlayTween(tweener);
+
+ // Debug.LogError("move to tarrget " + target.name + " offset " + offset + " speed " + speed + " time " + tweener.Duration());
}
protected void TurnBack(Action _onComplete, float forward)
@@ -244,6 +249,16 @@
protected virtual void OnAllAttackMoveFinished()
{
moveFinished = true;
+ List<BattleObject> allList = battleField.battleObjMgr.allBattleObjDict.Values.ToList<BattleObject>();
+ for (int i = 0; i < allList.Count; i++)
+ {
+ BattleObject bo = allList[i];
+ bo.layerMgr.SetFront();
+ // bo.heroRectTrans.SetParent(battleField.GetTeamNode(bo.Camp, bo.teamHero.positionNum), true);
+ bo.heroInfoBar.SetActive(true);
+ }
+ battleField.battleRootNode.skillMaskNode.SetActive(false);
+ // Debug.LogError("OnAllAttackMoveFinished skill " + skillConfig.SkillID + " cast position " + skillConfig.CastPosition + " cast mode " + skillConfig.castMode);
}
protected void CastToAllies()
@@ -299,6 +314,7 @@
// 鎶�鑳藉紑濮�
public void OnSkillStart()
{
+ HandleDead();
skillEffect = SkillEffectFactory.CreateSkillEffect(
caster,
skillConfig,
@@ -345,7 +361,8 @@
{
skillEffect.OnFinalFrameEnd();
- HandleDead();
+ // 杞Щ鍒版浜″寘 battleobject.hurt 鏈�鍚庝竴鍑荤殑鏃跺�欐挱鏀�
+
}
@@ -353,6 +370,8 @@
protected void HighLightAllTargets()
{
+ caster.layerMgr.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder);
+
if (skillConfig.FuncType != 2)
return;
@@ -365,6 +384,8 @@
caster.heroInfoBar.SetActive(false);
+
+
for (int i = 0; i < allList.Count; i++)
{
BattleObject bo = allList[i];
@@ -372,12 +393,12 @@
{
bo.layerMgr.SetFront();
bo.heroInfoBar.SetActive(true);
- bo.heroRectTrans.SetParent(battleField.battleRootNode.skillFrontNode, true);
+ // bo.heroRectTrans.SetParent(battleField.battleRootNode.skillFrontNode, true);
}
else
{
bo.layerMgr.SetBack();
- bo.heroRectTrans.SetParent(battleField.battleRootNode.skillBackNode, true);
+ // bo.heroRectTrans.SetParent(battleField.battleRootNode.skillBackNode, true);
}
if (targetList.Contains(bo))
@@ -390,10 +411,9 @@
}
}
- caster.layerMgr.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder);
battleField.battleRootNode.skillMaskNode.SetActive(true);
-
+ battleField.battleRootNode.SetSortingOrder();
// caster.battleField.skillMask
// 鎶婅繖浜汢O鍏ㄩ珮浜� 鎴栬�呰鎶婇櫎浜嗚繖浜涚殑閮芥斁鍦ㄩ伄缃╁悗闈�
// YYL TODO
@@ -440,13 +460,21 @@
// TODO YYL AttackTypes 瑕佽〃鐜版垚浠�涔堟牱鍛紵 鏀寔澶氱绫诲瀷骞跺瓨锛屽鏃犺闃插尽涓旀毚鍑诲悓鏃惰鏍兼尅锛屼簩杩涘埗鎴栬繍绠楁渶缁堝�硷紱0-澶辫触锛�1-鏅�氾紱2-鍥炶锛�5-鏍兼尅锛�6-鏃犺闃插尽锛�7-鏆村嚮锛�9-闂伩
- target.Hurt(damageList, totalDamage, hurt, skillConfig);
+
+
+ int objID = (int)target.ObjID;
+ tempDropList.TryGetValue(objID, out BattleDrops battleDrops);
+ tempDeadPackList.TryGetValue(objID, out HB422_tagMCTurnFightObjDead deadPack);
+ target.Hurt(damageList, totalDamage, hurt, skillConfig, _hitIndex, battleDrops, deadPack);
// TODO YYL 杩欓噷鏄鍋氱粺涓�璁$畻鍚庡啀hurt璺焥uckhp杩樻槸鎬庢牱
caster.SuckHp(hurt.SuckHP, skillConfig);// 鍚歌
caster.HurtByReflect(hurt.BounceHP, skillConfig);// 鍙嶅脊浼ゅ
}
+ private Dictionary<int, BattleDrops> tempDropList = new Dictionary<int, BattleDrops>();
+
+ private Dictionary<int, HB422_tagMCTurnFightObjDead> tempDeadPackList = new Dictionary<int, HB422_tagMCTurnFightObjDead>();
protected void HandleDead()
{
@@ -495,17 +523,17 @@
dropItemPackIndex = itemModelDropsIndexList,
expDrops = expAssign[i]
};
- deadTarget.PushDropItems(battleDrops);
+
+ tempDropList.Add((int)deadPackList[i].ObjID, battleDrops);
+ // deadTarget.PushDropItems(battleDrops);
}
- // 鍒嗗彂姝讳骸鍖�
-
- battleField.OnObjsDead(new List<HB422_tagMCTurnFightObjDead>(deadPackList));
+ // battleField.OnObjsDead(new List<HB422_tagMCTurnFightObjDead>(deadPackList));
foreach (var deadPack in deadPackList)
{
+ tempDeadPackList.Add((int)deadPack.ObjID, deadPack);
packList.Remove(deadPack);
}
- deadPackList.Clear();
}
@@ -646,23 +674,13 @@
if (isFinished && moveFinished)
{
- List<BattleObject> allList = battleField.battleObjMgr.allBattleObjDict.Values.ToList<BattleObject>();
- for (int i = 0; i < allList.Count; i++)
- {
- BattleObject bo = allList[i];
- bo.layerMgr.SetFront();
- bo.heroRectTrans.SetParent(battleField.GetTeamNode(bo.Camp, bo.teamHero.positionNum), true);
- bo.heroInfoBar.SetActive(true);
- }
- battleField.battleRootNode.skillMaskNode.SetActive(false);
-
if (packList.Count > 0)
{
OnSkillFinished();
return false;
}
- return packList.Count <= 0;
+ return true;
}
else
{
@@ -673,6 +691,11 @@
public virtual void ForceFinished()
{
skillEffect?.ForceFinished();
+ if (otherSkillAction != null)
+ {
+ otherSkillAction.ForceFinish();
+ otherSkillAction = null;
+ }
isFinished = true;
moveFinished = true;
isPlay = true;
@@ -686,12 +709,11 @@
{
if (combinePack.startTag.Tag.StartsWith("Skill_"))
{
- BattleDebug.LogError("other skill casting " + combinePack.startTag.Tag);
otherSkillAction = combinePack.CreateSkillAction();
otherSkillAction.fromSkillId = skillConfig.SkillID;
// 寮哄埗缁撴潫鍏朵粬鎶�鑳�
otherSkillAction.ForceFinish();
- return;
+ continue;
}
}
else if (pack is CustomB421ActionPack actionPack)
--
Gitblit v1.8.0