/// <summary> /// ユニットを追加する /// </summary> /// <param name="index">追加先のインデックス</param> /// <param name="branch">兵科</param> /// <param name="parent">親ノード</param> /// <param name="units">ユニットリスト</param> /// <param name="settings">国家設定</param> private void AddUnit(int index, Branch branch, TreeNode parent, List <Unit> units, CountrySettings settings) { // ユニットを作成する Unit unit = new Unit { Id = settings.GetNewUnitTypeId(), Branch = branch }; unit.SetDirtyAll(); // ユニットの位置を初期化する InitUnitLocation(unit, settings); // ツリーノードを追加する TreeNode node = CreateUnitNode(unit); node.Text = Resources.UnitTreeNewUnit; parent.Nodes.Insert(index, node); // ユニットリストに追加する units.Insert(index, unit); // 編集済みフラグを設定する settings.SetDirty(); Scenarios.SetDirty(); // 追加したノードを選択する _treeView.SelectedNode = node; }
/// <summary> /// 師団を追加する /// </summary> /// <param name="branch">兵科</param> /// <param name="parent">親ノード</param> /// <param name="divisions">師団リスト</param> /// <param name="settings">国家設定</param> private void AddDivision(Branch branch, TreeNode parent, List <Division> divisions, CountrySettings settings) { // 師団を作成する Division division = new Division { Id = settings.GetNewUnitTypeId(), Branch = branch }; division.SetDirtyAll(); switch (branch) { case Branch.Army: division.Type = UnitType.Infantry; break; case Branch.Navy: division.Type = UnitType.BattleShip; break; case Branch.Airforce: division.Type = UnitType.MultiRole; break; } // ツリーノードを追加する TreeNode node = CreateDivisionNode(division); node.Text = Resources.UnitTreeNewDivision; int index = parent.Nodes.Count; if (parent.Tag is Unit && (branch == Branch.Navy || branch == Branch.Airforce)) { index--; } parent.Nodes.Insert(index, node); // 師団リストに追加する divisions.Add(division); // 追加したノードを選択する _treeView.SelectedNode = node; }