From 89343a7a0909e5244a3b69c4db1294de4536243b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 15 十二月 2025 18:15:22 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则
---
Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs | 87 +++++++++++++++++++------------------------
1 files changed, 39 insertions(+), 48 deletions(-)
diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index 80e4092..44e77c1 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -3,69 +3,58 @@
public class SkillRecordAction : RecordAction
{
- public int SkillId;
-
- public SkillConfig skillConfig;
-
protected SkillBase skillBase;
- protected List<Dictionary<int, List<int>>> damageList = new List<Dictionary<int, List<int>>>();
-
private bool isCast = false;
+ public SkillBase fromSkill = null;
- public SkillRecordAction(int _SkillId, BattleField _battleField, BattleObject _battleObj)
- : base(RecordActionType.Skill, _battleField, _battleObj)
+ public SkillRecordAction(BattleField _battleField, BattleObject _caster, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> packList)
+ : base(RecordActionType.Skill, _battleField, _caster)
{
- SkillId = _SkillId;
+ // Debug.LogError("_caster == null : " + (_caster == null));
- skillConfig = SkillConfig.Get(SkillId);
-
- if (null == skillConfig)
- {
- Debug.LogError("鎵句笉鍒版妧鑳介厤缃� " + SkillId);
- }
-
- skillBase = SkillFactory.CreateSkill(skillConfig);
-
- // _battleObj浣跨敤浜哠killId鐨勬妧鑳�
- damageList = skillBase.GetDamageList(battleObject, battleField);
- }
-
- public SkillRecordAction(int _SkillId, BattleField _battleField, BattleObject _battleObj, List<Dictionary<int, List<int>>> _damageList)
- : base(RecordActionType.Skill, _battleField, _battleObj)
- {
- SkillId = _SkillId;
-
- skillConfig = SkillConfig.Get(SkillId);
-
- if (null == skillConfig)
- {
- Debug.LogError("鎵句笉鍒版妧鑳介厤缃� " + SkillId);
- }
-
- skillBase = SkillFactory.CreateSkill(skillConfig);
-
- damageList = _damageList;
- // _battleObj浣跨敤浜哠killId鐨勬妧鑳�
+ skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
}
public override bool IsFinished()
{
+ if (null == skillBase)
+ {
+ return true;
+ }
return skillBase.IsFinished();
}
+ public bool IsFinishedForJudge()
+ {
+ if (null == skillBase)
+ {
+ return true;
+ }
+ return skillBase.IsFinishedForJudge();
+ }
- public override void Run()
+ public override void ForceFinish()
{
- base.Run();
+ // 璁剧疆缁撴潫flag 璁板緱娓呯┖motionBase閲岀殑浜嬩欢
+ if (null != skillBase)
+ {
+ skillBase.ForceFinished();
+ }
+ base.ForceFinish();
+ }
+
+ public override void Run()
+ {
+ base.Run();
if (null == skillBase)
{
return;
}
- if (!skillBase.IsFinished())
+ if (isCast && !skillBase.IsFinished())
{
skillBase.Run();
}
@@ -73,15 +62,17 @@
if (isCast)
return;
- if (damageList.Count > 0)
+ if (fromSkill != null)
{
- skillBase.Cast(battleObject, battleField, damageList);
- }
- else
- {
- skillBase.ForceFinished();
+ BattleDebug.LogError("cast skill from skill : " + fromSkill.skillConfig.SkillID);
}
+ // Debug.LogError("cast skill id is " + skillBase.skillConfig.SkillID);
+
+ skillBase.fromSkill = fromSkill;
+
+ skillBase.Cast();
+
isCast = true;
- }
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0