From 8f983d0dab26becb6b85dbbb616fde21c3ad8f02 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 20 八月 2025 18:40:23 +0800
Subject: [PATCH] 125 【战斗】战斗系统
---
Main/System/Battle/SkillEffect/BulletSkillEffect.cs | 37 ++++++++++++++++++++++++++++---------
1 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
index 10e146f..1b1b239 100644
--- a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
+++ b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
@@ -23,6 +23,7 @@
public override void Play(Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> _onHit)
{
+ base.Play(_onHit);
// 寮瑰皠 鍙﹀鐨勫仛娉曚簡
if (skillConfig.effectType == SkillEffectType.Bullet && skillConfig.BulletPath == 4)
{
@@ -33,14 +34,14 @@
Debug.LogError("鐩爣涓虹┖ target == null ObjId : " + hurt.ObjID);
return;
}
- ShotToTarget(targetObject, _onHit);
+ ShotToTarget(targetObject);
}
- // 鏅�氱殑鍋氭硶
+ // 鏅�氱殑鍋氭硶 鍖哄垎鎵撳悜闃佃惀鎴栬�呮墦鍚戜釜浣�
else
{
Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHitFormation = (_hitIndex, _hurtList) =>
{
- _onHit?.Invoke(_hitIndex, tagUseSkillAttack.HurtList.ToList());
+ onHit?.Invoke(_hitIndex, tagUseSkillAttack.HurtList.ToList());
};
switch (skillConfig.castMode)
{
@@ -63,7 +64,7 @@
continue;
}
- ShotToTarget(target, _onHit);
+ ShotToTarget(target);
}
break;
case SkillCastMode.Allies:
@@ -102,30 +103,48 @@
}
caster.battleField.battleEffectMgr.PlayEffect(targetObj.ObjID, skillConfig.ExplosionEffectId, targetObj.heroGo.transform);
+ caster.battleField.battleEffectMgr.PlayEffect(targetObj.ObjID, skillConfig.ExplosionEffect2, targetObj.heroGo.transform);
}
- // caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.ExplosionEffectId, target);
});
bulletCurves.Add(bulletCurve);
}
- protected void ShotToTarget(BattleObject target, Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> _onHit)
+ protected void ShotToTarget(BattleObject target)
{
- BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.BulletEffectId, caster.effectNode);
+ BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.BulletEffectId, caster.heroRectTrans);
RectTransform effectTrans = effectPlayer.transform as RectTransform;
var bulletCurve = BulletCurveFactory.CreateBulletCurve(caster, skillConfig, effectPlayer, target.heroRectTrans, tagUseSkillAttack, (index, hitList) =>
{
- // 鍑讳腑灏遍攢姣佸瓙寮� 瀛愬脊涓嶉渶瑕佽嚜鍔ㄩ攢姣� 閰嶇疆琛ㄩ噷autoDestroy涓篺alse
+ // 琛ㄧ幇瀛愬脊椋炶鍒扮洰鏍囦綅缃�
+ onHit?.Invoke(index, hitList);
+
+ // 鍑讳腑灏遍攢姣佸瓙寮�
caster.battleField.battleEffectMgr.RemoveEffect(skillConfig.BulletEffectId, effectPlayer);
- _onHit?.Invoke(index, hitList);
+ // 鎾斁瀛愬脊鐖嗙偢鐗规晥
+
+ foreach (var hurt in hitList)
+ {
+ BattleObject targetObj = caster.battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
+ if (targetObj == null)
+ {
+ Debug.LogError("鐩爣涓虹┖ target == null ObjId : " + hurt.ObjID);
+ continue;
+ }
+
+ caster.battleField.battleEffectMgr.PlayEffect(targetObj.ObjID, skillConfig.ExplosionEffectId, targetObj.heroGo.transform);
+ caster.battleField.battleEffectMgr.PlayEffect(targetObj.ObjID, skillConfig.ExplosionEffect2, targetObj.heroGo.transform);
+ }
});
bulletCurves.Add(bulletCurve);
}
+
+
public override void Run()
{
foreach (var bulletCurve in bulletCurves)
--
Gitblit v1.8.0