using System; using System.Collections.Generic; using System.Linq; using Wizard.Battle; public class SkillParameterChangeMaxLifeCountFilter : ISkillCardFilter { private readonly int _parameter; private readonly Func, bool> _compareFunc; public SkillParameterChangeMaxLifeCountFilter(int parameter, string op) { _parameter = parameter; _compareFunc = SkillCompareFuncCreator.Create(op, SkillCompareFuncCreator.ChangeMaxLifeCount); } public IEnumerable Filtering(IEnumerable cards, SkillOptionValue option) { return cards.Where((IReadOnlyBattleCardInfo c) => _compareFunc(c.SkillApplyInformation.GetChangeMaxLifeCount(), _parameter, c, cards)); } }