/// <summary> /// コピーコンストラクタ /// </summary> /// <param name="original">複製元のユニット装備情報</param> public UnitEquipment(UnitEquipment original) { Resource = original.Resource; Quantity = original.Quantity; }
/// <summary> /// 装備の追加ボタン押下時の処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnEquipmentAddButtonClick(object sender, EventArgs e) { // 選択中のユニットクラスがなければ何もしない UnitClass unit = classListBox.SelectedItem as UnitClass; if (unit == null) { return; } // 選択中のユニットモデルがなければ何もしない if (modelListView.SelectedIndices.Count == 0) { return; } int i = modelListView.SelectedIndices[0]; UnitModel model = unit.Models[i]; Log.Info("[Unit] Added new equipment: ({0})", unit.GetModelName(i)); // 装備リストに項目を追加する UnitEquipment equipment = new UnitEquipment(); model.Equipments.Add(equipment); // 編集済みフラグを設定する equipment.SetDirtyAll(); model.SetDirty(); unit.SetDirtyFile(); // 装備リストビューに項目を追加する AddEquipmentListItem(equipment); }
/// <summary> /// 装備リストビューの項目を追加する /// </summary> /// <param name="equipment">追加対象の装備</param> private void AddEquipmentListItem(UnitEquipment equipment) { // 装備リストビューに項目を追加する ListViewItem item = CreateEquipmentListItem(equipment); equipmentListView.Items.Add(item); // 追加した項目を選択する int index = equipmentListView.Items.Count - 1; equipmentListView.Items[index].Focused = true; equipmentListView.Items[index].Selected = true; equipmentListView.EnsureVisible(index); // 編集項目を有効化する EnableEquipmentItems(); }
/// <summary> /// 装備リストの項目を作成する /// </summary> /// <param name="equipment">装備</param> /// <returns>装備リストの項目</returns> private static ListViewItem CreateEquipmentListItem(UnitEquipment equipment) { ListViewItem item = new ListViewItem { Text = Config.GetText(Units.EquipmentNames[(int) equipment.Resource]) }; item.SubItems.Add(DoubleHelper.ToString(equipment.Quantity)); return item; }