/// <summary> /// 技術IDを変更する /// </summary> /// <param name="item">技術項目</param> /// <param name="id">技術ID</param> public static void ModifyTechId(TechItem item, int id) { // 値の変更前に技術項目とIDの対応付けを削除する TechIds.Remove(id); TechIdMap.Remove(id); // 値を更新する item.Id = id; // 技術項目とIDの対応付けを更新する UpdateTechIdMap(); }
/// <summary> /// 技術項目とIDの対応付けを更新する /// </summary> public static void UpdateTechIdMap() { TechIds.Clear(); TechIdMap.Clear(); foreach (TechItem item in Groups.SelectMany(grp => grp.Items.OfType <TechItem>())) { if (!TechIds.Contains(item.Id)) { TechIds.Add(item.Id); TechIdMap.Add(item.Id, item); } } }