using System; using Wizard; using Wizard.Battle.View.Vfx; public class SkillResidentPreprocessReturnHandActiveReset : SkillPreprocessBase { private SkillBase _skill; public SkillResidentPreprocessReturnHandActiveReset(SkillBase skill) { _skill = skill; } public override bool IsRight(BattlePlayerReadOnlyInfoPair playerInfoPair, SkillConditionCheckerOption option, bool PreexecutionCheck = false) { return true; } public override VfxBase Start(BattlePlayerPair playerPair, SkillBase skill, SkillProcessor skillProcessor, SkillOptionValue optionValue, SkillConditionCheckerOption checkerOption) { SetUp(skill); return NullVfx.GetInstance(); } public override void Clone(SkillPreprocessBase source, SkillBase skill) { SetUp(skill); } private void SetUp(SkillBase skill) { Func callStopOneTime = null; callStopOneTime = delegate { skill.SkillPrm.ownerCard.OnReturnCard -= callStopOneTime; skill.SetIsResidentSkillStartFlag(flg: false); return NullVfx.GetInstance(); }; skill.SkillPrm.ownerCard.OnReturnCard += callStopOneTime; } }