/// <summary> /// 新規ボタン押下時の処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnNewButtonClick(object sender, EventArgs e) { Leader leader; Leader selected = GetSelectedLeader(); if (selected != null) { // 選択項目がある場合、国タグやIDを引き継いで項目を作成する leader = new Leader(selected) { Id = Leaders.GetNewId(selected.Country), Name = "", PictureName = "" }; // 指揮官ごとの編集済みフラグを設定する leader.SetDirtyAll(); // 指揮官リストに項目を挿入する Leaders.InsertItem(leader, selected); InsertListItem(leader, leaderListView.SelectedIndices[0] + 1); } else { Country country = Countries.Tags[countryListBox.SelectedIndex]; // 新規項目を作成する leader = new Leader { Country = country, Id = Leaders.GetNewId(country), Branch = Branch.None, IdealRank = LeaderRank.None, StartYear = 1930, EndYear = 1990, RetirementYear = 1999 }; leader.RankYear[0] = 1930; leader.RankYear[1] = 1990; leader.RankYear[2] = 1990; leader.RankYear[3] = 1990; // 指揮官ごとの編集済みフラグを設定する leader.SetDirtyAll(); // 指揮官リストに項目を追加する Leaders.AddItem(leader); AddListItem(leader); // 編集項目を有効化する EnableEditableItems(); } // 国家ごとの編集済みフラグを設定する Leaders.SetDirty(leader.Country); // ファイル一覧に存在しなければ追加する if (!Leaders.FileNameMap.ContainsKey(leader.Country)) { Leaders.FileNameMap.Add(leader.Country, Game.GetLeaderFileName(leader.Country)); Leaders.SetDirtyList(); } }
/// <summary> /// 複製ボタン押下時の処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnCloneButtonClick(object sender, EventArgs e) { // 選択項目がなければ何もしない Leader selected = GetSelectedLeader(); if (selected == null) { return; } // 選択項目を引き継いで項目を作成する Leader leader = new Leader(selected) { Id = Leaders.GetNewId(selected.Country) }; // 指揮官ごとの編集済みフラグを設定する leader.SetDirtyAll(); // 指揮官リストに項目を挿入する Leaders.InsertItem(leader, selected); InsertListItem(leader, leaderListView.SelectedIndices[0] + 1); // 国家ごとの編集済みフラグを設定する Leaders.SetDirty(leader.Country); }