/// <summary> /// 海域リストから項目を削除する /// </summary> /// <param name="province"></param> private static void RemoveSeaZone(Province province) { // 名前が空文字列の場合は何もしない if (!Config.ExistsKey(province.Name) || string.IsNullOrEmpty(province.GetName())) { return; } SeaZones.Remove(province.Id); SeaZoneMap.Remove(province.Id); }
/// <summary> /// プロヴィンスリストビューの項目を作成する /// </summary> /// <param name="province">プロヴィンスデータ</param> /// <returns>プロヴィンスリストビューの項目</returns> private static ListViewItem CreateProvinceListViewItem(Province province) { if (province == null) { return null; } ListViewItem item = new ListViewItem { Text = province.GetName(), Tag = province }; item.SubItems.Add(IntHelper.ToString(province.Id)); item.SubItems.Add(province.Terrain == TerrainId.Ocean ? Resources.Yes : Resources.No); item.SubItems.Add(province.PortAllowed ? Resources.Yes : Resources.No); item.SubItems.Add(province.Beaches ? Resources.Yes : Resources.No); item.SubItems.Add(DoubleHelper.ToString(province.Infrastructure)); item.SubItems.Add(DoubleHelper.ToString(province.Ic)); item.SubItems.Add(DoubleHelper.ToString(province.Manpower)); item.SubItems.Add(DoubleHelper.ToString(province.Energy)); item.SubItems.Add(DoubleHelper.ToString(province.Metal)); item.SubItems.Add(DoubleHelper.ToString(province.RareMaterials)); item.SubItems.Add(DoubleHelper.ToString(province.Oil)); return item; }
/// <summary> /// 編集項目の値を更新する /// </summary> /// <param name="province">プロヴィンスデータ</param> private void UpdateEditableItemsValue(Province province) { // 基本設定 idNumericUpDown.Value = province.Id; nameTextBox.Text = province.GetName(); if (Provinces.Continents.Contains(province.Continent)) { continentComboBox.SelectedIndex = Provinces.Continents.IndexOf(province.Continent); } else { continentComboBox.SelectedIndex = -1; continentComboBox.Text = Provinces.GetContinentName(province.Continent); } if (Provinces.Regions.Contains(province.Region)) { regionComboBox.SelectedIndex = Provinces.Regions.IndexOf(province.Region); } else { regionComboBox.SelectedIndex = -1; regionComboBox.Text = Provinces.GetRegionName(province.Region); } if (Provinces.Areas.Contains(province.Area)) { areaComboBox.SelectedIndex = Provinces.Areas.IndexOf(province.Area); } else { areaComboBox.SelectedIndex = -1; areaComboBox.Text = Provinces.GetAreaName(province.Area); } if (Provinces.Climates.Contains(province.Climate)) { climateComboBox.SelectedIndex = Provinces.Climates.IndexOf(province.Climate); } else { climateComboBox.SelectedIndex = -1; climateComboBox.Text = Provinces.GetClimateName(province.Climate); } if (Provinces.Terrains.Contains(province.Terrain)) { terrainComboBox.SelectedIndex = Provinces.Terrains.IndexOf(province.Terrain); } else { terrainComboBox.SelectedIndex = -1; terrainComboBox.Text = Provinces.GetTerrainName(province.Terrain); } // 資源設定 infraTextBox.Text = DoubleHelper.ToString(province.Infrastructure); icTextBox.Text = DoubleHelper.ToString(province.Ic); manpowerTextBox.Text = DoubleHelper.ToString(province.Manpower); energyTextBox.Text = DoubleHelper.ToString(province.Energy); metalTextBox.Text = DoubleHelper.ToString(province.Metal); rareMaterialsTextBox.Text = DoubleHelper.ToString(province.RareMaterials); oilTextBox.Text = DoubleHelper.ToString(province.Oil); // 座標設定 beachCheckBox.Checked = province.Beaches; beachXNumericUpDown.Value = province.BeachXPos; beachYNumericUpDown.Value = province.BeachYPos; beachIconNumericUpDown.Value = province.BeachIcon; portCheckBox.Checked = province.PortAllowed; portXNumericUpDown.Value = province.PortXPos; portYNumericUpDown.Value = province.PortYPos; portSeaZoneNumericUpDown.Value = province.PortSeaZone; if (Provinces.SeaZones.Contains(province.PortSeaZone)) { portSeaZoneComboBox.SelectedIndex = Provinces.SeaZones.IndexOf(province.PortSeaZone); } else { portSeaZoneComboBox.SelectedIndex = -1; if (province.PortSeaZone > 0) { Province seaProvince = Provinces.Items.First(prov => prov.Id == province.PortSeaZone); portSeaZoneComboBox.Text = Config.GetText(seaProvince.Name); } } cityXNumericUpDown.Value = province.CityXPos; cityYNumericUpDown.Value = province.CityYPos; fortXNumericUpDown.Value = province.FortXPos; fortYNumericUpDown.Value = province.FortYPos; aaXNumericUpDown.Value = province.AaXPos; aaYNumericUpDown.Value = province.AaYPos; armyXNumericUpDown.Value = province.ArmyXPos; armyYNumericUpDown.Value = province.ArmyYPos; counterXNumericUpDown.Value = province.CounterXPos; counterYNumericUpDown.Value = province.CounterYPos; fillXNumericUpDown1.Value = province.FillCoordX1; fillYNumericUpDown1.Value = province.FillCoordY1; fillXNumericUpDown2.Value = province.FillCoordX2; fillYNumericUpDown2.Value = province.FillCoordY2; fillXNumericUpDown3.Value = province.FillCoordX3; fillYNumericUpDown3.Value = province.FillCoordY3; fillXNumericUpDown4.Value = province.FillCoordX4; fillYNumericUpDown4.Value = province.FillCoordY4; }
/// <summary> /// プロヴィンス名を取得する /// </summary> /// <param name="province">プロヴィンス</param> /// <param name="settings">プロヴィンス設定</param> /// <returns>プロヴィンス名</returns> public static string GetProvinceName(Province province, ProvinceSettings settings) { if (!string.IsNullOrEmpty(settings?.Name)) { return Config.ExistsKey(settings.Name) ? Config.GetText(settings.Name) : ""; } return province.GetName(); }