Exemplo n.º 1
0
        /// <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();
            }
        }
Exemplo n.º 2
0
        /// <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);
        }