コード例 #1
0
ファイル: TypeListValidator.cs プロジェクト: ph33rtehgd/FFRK
        private TypeListDifferences ValidateTargetTypes(ImportResultsContainer irc)
        {
            var abilityTargetTypes = irc.AbilityRows.Select(ar => ar.Target.Split(",".ToCharArray())).
                                     SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList();

            var commandTargetTypes = irc.CommandRows.Select(ar => ar.Target.Split(",".ToCharArray())).
                                     SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList();

            var otherTargetTypes = irc.OtherRows.Where(ar => !String.IsNullOrWhiteSpace(ar.Type)).Select(ar => ar.Target.Split(",".ToCharArray())).
                                   SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList();

            var soulBreakTargetTypes = irc.SoulBreakRows.Select(ar => ar.Target.Split(",".ToCharArray())).
                                       SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList();

            var limitBreakTargetTypes = irc.LimitBreakRows.Select(ar => ar.Target.Split(",".ToCharArray())).
                                        SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList();

            //TargetTypes - source
            var unifiedTargetTypesList = abilityTargetTypes.Union(commandTargetTypes).Union(otherTargetTypes).Union(soulBreakTargetTypes).
                                         Union(limitBreakTargetTypes).OrderBy(e => e);

            //TargetTypes - id list
            var targetTypesIdList = new TargetTypeList();
            var targetTypesIdListTargetTypeNames = targetTypesIdList.TypeList.Where(il => il.Key != 0).Select(kvp => kvp.Value).ToList();

            TypeListDifferences targetTypesDifferences = new TypeListDifferences()
            {
                IdListName = nameof(TargetTypeList),
                ValuesMissingFromIdList   = unifiedTargetTypesList.Except(targetTypesIdListTargetTypeNames).ToList(),
                ValuesSuperfluousInIdList = targetTypesIdListTargetTypeNames.Except(unifiedTargetTypesList).ToList(),
                SuggestedIdListContents   = GenerateSuggestedIdListContents(unifiedTargetTypesList)
            };

            return(targetTypesDifferences);
        }
コード例 #2
0
        private void FrmMarkingSet_Load(object sender, EventArgs e)
        {
            mScreenModeList = TargetTypeList.GetInstance().mScreenModeList;
            comboBoxEditScreenMode.Properties.Items.Clear();
            foreach (var screenMode in mScreenModeList)
            {
                comboBoxEditScreenMode.Properties.Items.Add(screenMode.SYSDICT_NAME);
            }
            //comboBoxEditScreenMode.SelectedIndex = 3;

            mLaneNumberList = TargetTypeList.GetInstance().mLaneNumberList;
            comboBoxEditLaneNumber.Properties.Items.Clear();
            foreach (var laneNumber in mLaneNumberList)
            {
                comboBoxEditLaneNumber.Properties.Items.Add(laneNumber.SYSDICT_NAME);
            }
            //comboBoxEditLaneNumber.SelectedIndex = 2;

            mLaneTypeList = TargetTypeList.GetInstance().mLaneTypeList;
            comboBoxEdit_LaneType1.Properties.Items.Clear();
            comboBoxEdit_LaneType2.Properties.Items.Clear();
            comboBoxEdit_LaneType3.Properties.Items.Clear();
            comboBoxEdit_LaneType4.Properties.Items.Clear();

            comboBoxEdit_TrafficLane1.Properties.Items.Clear();
            comboBoxEdit_TrafficLane2.Properties.Items.Clear();
            comboBoxEdit_TrafficLane3.Properties.Items.Clear();
            comboBoxEdit_TrafficLane4.Properties.Items.Clear();

            foreach (var laneType in mLaneTypeList)
            {
                comboBoxEdit_LaneType1.Properties.Items.Add(laneType.SYSDICT_NAME);
                comboBoxEdit_LaneType2.Properties.Items.Add(laneType.SYSDICT_NAME);
                comboBoxEdit_LaneType3.Properties.Items.Add(laneType.SYSDICT_NAME);
                comboBoxEdit_LaneType4.Properties.Items.Add(laneType.SYSDICT_NAME);

                comboBoxEdit_TrafficLane1.Properties.Items.Add(laneType.SYSDICT_NAME);
                comboBoxEdit_TrafficLane2.Properties.Items.Add(laneType.SYSDICT_NAME);
                comboBoxEdit_TrafficLane3.Properties.Items.Add(laneType.SYSDICT_NAME);
                comboBoxEdit_TrafficLane4.Properties.Items.Add(laneType.SYSDICT_NAME);
            }
        }