From 2b479845e946d7b7590687ba91437b18a9c829b7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 07 二月 2026 20:43:44 +0800
Subject: [PATCH] 0312 隐藏灵兽,皇宫,府邸标签;内政中功能未开启时对应的npc也不显示

---
 Main/System/Battle/SkillEffect/SkillEffect.cs |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/Main/System/Battle/SkillEffect/SkillEffect.cs b/Main/System/Battle/SkillEffect/SkillEffect.cs
index 5acf824..538dc6b 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,13 +29,13 @@
         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.GetRectTransform(), caster.Camp, caster.GetModelScale());
         }
         if (skillConfig.EffectId2 > 0)
         {
-            caster.battleField.battleEffectMgr.PlayEffect(caster.ObjID, skillConfig.EffectId2, caster.heroRectTrans, caster.Camp);
+            caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.EffectId2, caster.GetRectTransform(), caster.Camp, caster.GetModelScale());
         }
-    }
+     }
 
     public virtual void Run()
     {
@@ -48,7 +52,7 @@
         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.GetTransform(), caster.Camp, caster.GetModelScale());
     }
     
     /// <summary>
@@ -64,16 +68,17 @@
     /// </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