/// <summary>
        /// オリジナル検索候補リストを生成
        /// </summary>
        /// <param name="requirements">検索条件</param>
        /// <remarks>検索処理実施前のオリジナル候補装備リスト</remarks>
        public override List <PartDataBase> CreateOrgList(Requirement requirements)
        {
            var requirementData = requirements.RequirementDataList.Get(this.Part);

            // 使用しない場合は空リストを格納したデータを返す.
            if (TermsType.Unused == requirementData.TermsType)
            {
                return(new List <PartDataBase>());
            }

            // 対象の抽象化防具マスタリストを生成する.
            var masterList = MasterArmorAbstract.GetAbstractArmorList(this.Part);

            // マスタリストから防具データに変換し、リスト化して返す.
            var candidateList = masterList
                                .Select(armor => (PartDataBase) new PartDataArmor(armor))
                                .ToList();

            // オリジナルリストを格納したデータを返す.
            return(candidateList);
        }
示例#2
0
        /// <summary>
        /// オリジナル検索候補リストを生成
        /// </summary>
        /// <param name="requirements">検索条件</param>
        /// <remarks>検索処理実施前のオリジナル候補装備リスト</remarks>
        public override List <PartDataBase> CreateOrgList(Requirement requirements)
        {
            var requirementData = requirements.RequirementDataList.Get(this.Part);

            // 使用しない場合は空リストを格納したデータを返す.
            if (TermsType.Unused == requirementData.TermsType)
            {
                return(new List <PartDataBase>());
            }

            // 対象の抽象化防具マスタリストを生成する.
            var masterList = MasterArmorAbstract.GetAbstractArmorList(this.Part);

            // マスタリストから条件を満たす防具をリスト化して返す.
            // ・該当レア度に収まる.
            var candidateList = masterList
                                .Where(armor => requirements.RequirementRareData.Lower <= armor.Rare && armor.Rare <= requirements.RequirementRareData.Upper)
                                .Select(armor => (PartDataBase) new PartDataArmor(armor))
                                .ToList();

            // オリジナルリストを格納したデータを返す.
            return(candidateList);
        }