using System; using System.Collections.Generic; using System.Linq; using Wizard.Battle.View.Vfx; namespace Wizard; public class NetworkSkill_spell_charge : Skill_spell_charge { public NetworkSkill_spell_charge(SkillParameter skillPrm, string option) : base(skillPrm, option) { RegisterSkillEndEvent(); } public override VfxWithLoading Start(CallParameter parameter) { VfxWithLoading result = base.Start(parameter); base.SkillPrm.ownerCard.SelfBattlePlayer.CallOnSpellCharge(base.SkillPrm.ownerCard, _targetCards, _addList); return result; } private void RegisterSkillEndEvent() { if (GameMgr.GetIns().IsWatchBattle || GameMgr.GetIns().IsReplayBattle || (!base.SkillPrm.ownerCard.IsPlayer && RegisterFilter.IsFilterCard(this))) { return; } Func, SkillConditionCheckerOption, SkillProcessor, VfxBase> value = delegate(SkillBase localSkill, List localCards, SkillConditionCheckerOption checkerOption, SkillProcessor skillProcessor) { if (localCards.Count() > 0) { RegisterSpellboost data = new RegisterSpellboost(localCards, localSkill, base.AddCount, base.DiffAddCount); (BattleManagerBase.GetIns() as NetworkBattleManagerBase).RegisterActionManager.Add(data); } return NullVfx.GetInstance(); }; base.OnSkillEnd -= value; base.OnSkillEnd += value; } }