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