| | |
| | | { |
| | | protected SkillBase skillBase; |
| | | |
| | | public HB427_tagSCUseSkill hB427_TagSCUseSkill; |
| | | |
| | | private bool isCast = false; |
| | | |
| | | public SkillBase fromSkill = null; |
| | |
| | | // Debug.LogError("_caster == null : " + (_caster == null)); |
| | | |
| | | skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField); |
| | | |
| | | hB427_TagSCUseSkill = vNetData; |
| | | if (null == skillBase) |
| | | { |
| | | BattleUtility.ForceFinishBattlePackList(battleField, packList); |
| | | } |
| | | else |
| | | { |
| | | // 让SkillBase知道自己的RecordAction |
| | | skillBase.SetParentRecordAction(this); |
| | | } |
| | | } |
| | | public override bool IsNeedWaiting() |
| | | { |
| | | if (skillBase == null) |
| | | { |
| | | return false; |
| | | } |
| | | return !string.IsNullOrEmpty(skillBase.skillConfig.SkillMotionName); |
| | | } |
| | | |
| | | |
| | | public override bool IsFinished() |
| | | { |
| | |
| | | return true; |
| | | } |
| | | return skillBase.IsFinished(); |
| | | } |
| | | |
| | | // 检查自身动作是否完成(不包括子节点) |
| | | public override bool IsActionCompleted() |
| | | { |
| | | if (null == skillBase) |
| | | { |
| | | return true; |
| | | } |
| | | return skillBase.IsFinishedForJudge(); |
| | | } |
| | | |
| | | public bool IsFinishedForJudge() |
| | |
| | | } |
| | | base.ForceFinish(); |
| | | } |
| | | |
| | | public override bool CanStartExecution() |
| | | { |
| | | if (null == skillBase) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (!skillBase.CanStartExecution()) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | |
| | | return base.CanStartExecution(); |
| | | } |
| | | |
| | | |
| | | public override void Run() |
| | | { |
| | |
| | | if (isCast) |
| | | return; |
| | | |
| | | Played(); |
| | | |
| | | if (fromSkill != null) |
| | | { |
| | | BattleDebug.LogError("cast skill from skill : " + fromSkill.skillConfig.SkillID); |