From 8445b9ee122ed1fbb4ad31f7e9da35406f7dc182 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 21 十一月 2025 17:08:51 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 邮件富文本支持

---
 Main/System/Battle/SkillEffect/SkillEffect.cs |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/Main/System/Battle/SkillEffect/SkillEffect.cs b/Main/System/Battle/SkillEffect/SkillEffect.cs
index cb0c311..f588b5b 100644
--- a/Main/System/Battle/SkillEffect/SkillEffect.cs
+++ b/Main/System/Battle/SkillEffect/SkillEffect.cs
@@ -4,16 +4,20 @@
 
 public class SkillEffect
 {
+    protected SkillBase skillBase;
     protected SkillConfig skillConfig;
     protected BattleObject caster;
     protected HB427_tagSCUseSkill 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)
+    public SkillEffect(SkillBase _skillBase, SkillConfig _skillConfig, BattleObject _caster, HB427_tagSCUseSkill _tagUseSkillAttack)
     {
+        skillBase = _skillBase;
         skillConfig = _skillConfig;
         caster = _caster;
         tagUseSkillAttack = _tagUseSkillAttack;
@@ -25,11 +29,11 @@
         onHit = _onHit;
         if (skillConfig.EffectId > 0)
         {
-            caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId, caster.heroRectTrans, caster.Camp);
+            caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId, caster.heroRectTrans, caster.Camp);
         }
         if (skillConfig.EffectId2 > 0)
         {
-            caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp);
+            caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp);
         }
     }
 
@@ -48,11 +52,33 @@
         if (skillConfig.MStartEffectId <= 0)
             return;
         //  涓憞鍥哄畾鐗规晥
-        caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.MStartEffectId, caster.heroGo.transform, caster.Camp);
+        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;
+        return isFinish && isFinishFrameEnd;
+    }
+
+    public virtual void ForceFinished()
+    {
+        isFinish = true;
+        isFinishFrameEnd = true;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0