using System; using System.Collections.Generic; using System.Linq; using Wizard.Battle; public class SkillParameterMaxLifeFilter : ISkillCardFilter { private readonly string _parameterText; private readonly Func, bool> _compareFunc; public SkillParameterMaxLifeFilter(string parameterText, string op) { _parameterText = parameterText; _compareFunc = SkillCompareFuncCreator.Create(op, SkillCompareFuncCreator.MaxLife); } public IEnumerable Filtering(IEnumerable cards, SkillOptionValue option) { int value = option.ParseInt(_parameterText); return cards.Where((IReadOnlyBattleCardInfo c) => _compareFunc(c.MaxLife, value, c, cards)); } }