using System.Collections.Generic; using System.Linq; using Wizard.Battle; public class SkillTargetHandOtherOldestFilter : ISkillTargetFilter { private readonly IReadOnlyBattleCardInfo _ownerCard; public SkillTargetHandOtherOldestFilter(IReadOnlyBattleCardInfo ownerCard) { _ownerCard = ownerCard; } public IEnumerable Filtering(IEnumerable battlePlayerInfos, SkillConditionCheckerOption option) { return (from c in battlePlayerInfos.SelectMany((IBattlePlayerReadOnlyInfo p) => p.SkillInfoHandCards) where c != _ownerCard select c).Take(1); } }