From 3b2a6bb9047cfce9f501593b3669a9c1af6c5df4 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 05 十一月 2025 17:40:23 +0800
Subject: [PATCH] 130 战斗修改回合样式
---
Main/System/Battle/SkillEffect/SkillEffect.cs | 87 +++++++++++++++++++++++++++++--------------
1 files changed, 58 insertions(+), 29 deletions(-)
diff --git a/Main/System/Battle/SkillEffect/SkillEffect.cs b/Main/System/Battle/SkillEffect/SkillEffect.cs
index 9fb324f..6932b1c 100644
--- a/Main/System/Battle/SkillEffect/SkillEffect.cs
+++ b/Main/System/Battle/SkillEffect/SkillEffect.cs
@@ -6,48 +6,77 @@
{
protected SkillConfig skillConfig;
protected BattleObject caster;
- protected H0604_tagUseSkillAttack tagUseSkillAttack;// 鐩爣鍒楄〃
+ protected HB427_tagSCUseSkill tagUseSkillAttack;// 鐩爣鍒楄〃
- public SkillEffect(SkillConfig _skillConfig, BattleObject _caster, H0604_tagUseSkillAttack _tagUseSkillAttack)
+ protected bool isFinish = false;
+
+ protected bool isFinishFrameEnd = false;
+
+ protected Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit;
+
+ public SkillEffect(SkillConfig _skillConfig, BattleObject _caster, HB427_tagSCUseSkill _tagUseSkillAttack)
{
skillConfig = _skillConfig;
caster = _caster;
tagUseSkillAttack = _tagUseSkillAttack;
}
- public Action OnHit; // 琛ㄧ幇鍒拌揪鐩爣鏃跺洖璋�
-
//
- public virtual void Play(Action<int, List<H0604_tagUseSkillAttack.tagSkillHurtObj>> _onHit)
+ public virtual void Play(Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> _onHit)
{
- // OnHit = _onHit;
- // switch (skillConfig.effectType)
- // {
- // case SkillEffectType.StageEffect:
- // Debug.LogError("鎾斁鍦烘櫙鐗规晥");
- // break;
- // case SkillEffectType.Bullet:
- // // 浼唬鐮侊細琛ㄧ幇瀛愬脊椋炶
- // Debug.Log("鎾斁瀛愬脊鐗规晥");
- // // 鍒拌揪鐩爣鏃�
- // OnHit?.Invoke();
- // break;
- // case SkillEffectType.Direct:
- // // 浼唬鐮侊細鐩存帴鍦ㄧ洰鏍囪韩涓婃挱鏀剧壒鏁�
- // Debug.Log("鎾斁鐩存帴鐗规晥");
- // OnHit?.Invoke();
- // break;
- // case SkillEffectType.BuffEffect:
- // // 浼唬鐮侊細鎾斁鎸佺画鐗规晥
- // Debug.Log("鎾斁Buff鐗规晥");
- // break;
- // default:
- // break;
- // }
+ onHit = _onHit;
+ if (skillConfig.EffectId > 0)
+ {
+ caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId, caster.heroRectTrans, caster.Camp);
+ }
+ if (skillConfig.EffectId2 > 0)
+ {
+ caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp);
+ }
}
public virtual void Run()
{
}
+
+ public virtual void OnMiddleFrameEnd(int times, int hitIndex)
+ {
+
+ }
+
+ public virtual void OnMiddleFrameStart(int times)
+ {
+ if (skillConfig.MStartEffectId <= 0)
+ return;
+ // 涓憞鍥哄畾鐗规晥
+ caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.MStartEffectId, caster.heroGo.transform, caster.Camp);
+ }
+
+ /// <summary>
+ /// 鍚庢憞寮�濮�
+ /// </summary>
+ public virtual void OnFinalFrameStart()
+ {
+
+ }
+
+ /// <summary>
+ /// 鍚庢憞缁撴潫
+ /// </summary>
+ public virtual void OnFinalFrameEnd()
+ {
+ isFinishFrameEnd = true;
+ }
+
+ public virtual bool IsFinished()
+ {
+ return isFinish && isFinishFrameEnd;
+ }
+
+ public virtual void ForceFinished()
+ {
+ isFinish = true;
+ isFinishFrameEnd = true;
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0