public static void InitSortDataAry <SORT_DATA>(SORT_DATA[] sort_data, SortSettings sort_settings, SortSettings.SortEquipSetInfo sort_equip_set_info = null) where SORT_DATA : SortCompareData, new() { EquipItemStatus equipItemStatus = null; if (sort_equip_set_info != null) { equipItemStatus = MonoBehaviourSingleton <StatusManager> .I.GetEquipSetAllSkillParam(sort_equip_set_info.equipSetNo, sort_equip_set_info.isLocal, sort_equip_set_info.exclusionSlotIndex); } for (int i = 0; i < sort_data.Length; i++) { EquipItemStatus equipItemStatus2 = new EquipItemStatus(equipItemStatus); SORT_DATA sortData = (SORT_DATA)sort_data[i]; if (equipItemStatus != null) { bool exclusion = false; sort_equip_set_info?.exclusionUniqID.ForEach((Action <ulong>) delegate(ulong uniq_id) { if (!exclusion && sortData.GetUniqID() == uniq_id) { exclusion = true; } }); if (!exclusion) { equipItemStatus2.Add(sort_data[i].GetItemStatus()); } } sortData.SetupSortingData(sort_settings.requirement, equipItemStatus2); sortData.Filtering(sort_settings); } }
public static SORT_DATA[] CreateSortDataAry <ITEM_DATA, SORT_DATA>(ITEM_DATA[] data, SortSettings sort_settings, SortSettings.SortEquipSetInfo sort_equip_set_info = null) where SORT_DATA : SortCompareData, new() { EquipItemStatus equipItemStatus = null; if (sort_equip_set_info != null) { equipItemStatus = MonoBehaviourSingleton <StatusManager> .I.GetEquipSetAllSkillParam(sort_equip_set_info.equipSetNo, sort_equip_set_info.isLocal, sort_equip_set_info.exclusionSlotIndex); } SORT_DATA[] equipItemSortAry = (SORT_DATA[])new SORT_DATA[data.Length]; int i; for (i = 0; i < data.Length; i++) { equipItemSortAry[i] = (SORT_DATA) new SORT_DATA(); equipItemSortAry[i].SetItem(data[i]); EquipItemStatus equipItemStatus2 = new EquipItemStatus(equipItemStatus); if (equipItemStatus != null) { bool exclusion = false; sort_equip_set_info?.exclusionUniqID.ForEach((Action <ulong>) delegate(ulong uniq_id) { if (!exclusion && equipItemSortAry[i].GetUniqID() == uniq_id) { exclusion = true; } }); if (!exclusion) { equipItemStatus2.Add(equipItemSortAry[i].GetItemStatus()); } } equipItemSortAry[i].SetupSortingData(sort_settings.requirement, equipItemStatus2); equipItemSortAry[i].Filtering(sort_settings); } return((SORT_DATA[])equipItemSortAry); }