From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs | 80 +++++++++++++++------------------------
1 files changed, 31 insertions(+), 49 deletions(-)
diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index 80e4092..142b60f 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -3,69 +3,49 @@
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 int fromSkillId = 0;
- 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 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 +53,17 @@
if (isCast)
return;
- if (damageList.Count > 0)
+ if (fromSkillId > 0)
{
- skillBase.Cast(battleObject, battleField, damageList);
- }
- else
- {
- skillBase.ForceFinished();
+ BattleDebug.LogError("cast skill from skill : " + fromSkillId);
}
+ // Debug.LogError("cast skill id is " + skillBase.skillConfig.SkillID);
+
+ skillBase.fromSkillId = fromSkillId;
+
+ skillBase.Cast();
+
isCast = true;
- }
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0