| | |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using System; |
| | | using DG.Tweening; |
| | | using Spine; |
| | | using System.Linq; |
| | | using System; |
| | | |
| | | |
| | | public class SkillBase |
| | |
| | | |
| | | protected HB427_tagSCUseSkill tagUseSkillAttack; |
| | | |
| | | protected SkillConfig skillConfig; |
| | | public SkillConfig skillConfig; |
| | | |
| | | protected bool isFinished = false; |
| | | |
| | |
| | | public SkillBase(BattleObject _caster, SkillConfig _skillCfg, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> _packList, BattleField _battleField = null) |
| | | { |
| | | caster = _caster; |
| | | if (null == caster) |
| | | { |
| | | throw new Exception("SkillBase caster is null "); |
| | | } |
| | | skillConfig = _skillCfg; |
| | | tagUseSkillAttack = vNetData; |
| | | battleField = _battleField; |
| | |
| | | // 1·移动到距离阵容位置n码的距离(如2号位,5号位)释放(即战场中央此类) |
| | | public virtual void Cast() |
| | | { |
| | | EventBroadcast.Instance.Broadcast<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, battleField.guid, skillConfig, caster.teamHero); |
| | | string guid = battleField.guid; |
| | | TeamHero teamHero = caster.teamHero; |
| | | EventBroadcast.Instance.Broadcast<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, guid, skillConfig, teamHero); |
| | | |
| | | // 高亮所有本次技能相关的目标 |
| | | HighLightAllTargets(); |
| | |
| | | var pack = packList[0]; |
| | | packList.RemoveAt(0); |
| | | |
| | | if (pack is CustomHB426CombinePack) |
| | | if (pack is CustomHB426CombinePack combinePack) |
| | | { |
| | | var combinePack = pack as CustomHB426CombinePack; |
| | | if (combinePack.startTag.Tag.StartsWith("Skill_")) |
| | | { |
| | | BattleDebug.LogError("other skill casting " + combinePack.startTag.Tag); |
| | |
| | | otherSkillAction.ForceFinish(); |
| | | return; |
| | | } |
| | | } |
| | | else if (pack is CustomB421ActionPack actionPack) |
| | | { |
| | | actionPack.Distribute(); |
| | | return; |
| | | } |
| | | PackageRegedit.Distribute(pack); |
| | | } |
| | |
| | | return; |
| | | } |
| | | } |
| | | else if (pack is CustomB421ActionPack actionPack) |
| | | { |
| | | actionPack.Distribute(); |
| | | return; |
| | | } |
| | | PackageRegedit.Distribute(pack); |
| | | } |
| | | |