/// <summary> /// 項目値変更前の処理 /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="province">プロヴィンス</param> /// <param name="settings">国家設定</param> public void PreItemChanged(ScenarioEditorItemId itemId, object val, Province province, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.CountryCapital: PreItemChangedCapital(_form.GetItemControl(itemId), val, province, settings); break; case ScenarioEditorItemId.CountryOwnedProvinces: PreItemChangedOwnedProvinces(_form.GetItemControl(itemId), val, province); break; case ScenarioEditorItemId.CountryControlledProvinces: PreItemChangedControlledProvinces(_form.GetItemControl(itemId), val, province); break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="unit">ユニット</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, Unit unit) { switch (itemId) { case ScenarioEditorItemId.UnitType: Scenarios.SetType(unit.Id, (int) val); break; case ScenarioEditorItemId.UnitId: Scenarios.SetId(unit.Id, (int) val); break; case ScenarioEditorItemId.UnitName: unit.Name = (string) val; break; case ScenarioEditorItemId.UnitLocationId: case ScenarioEditorItemId.UnitLocation: unit.Location = (int) val; break; case ScenarioEditorItemId.UnitBaseId: case ScenarioEditorItemId.UnitBase: unit.Base = (int) val; break; case ScenarioEditorItemId.UnitLeaderId: case ScenarioEditorItemId.UnitLeader: unit.Leader = (int) val; break; case ScenarioEditorItemId.UnitMorale: unit.Morale = (double) val; break; case ScenarioEditorItemId.UnitDigIn: unit.DigIn = (double) val; break; } }
/// <summary> /// 編集項目の値を取得する /// </summary> /// <param name="itemId">項目ID</param> /// <returns>編集項目の値</returns> public object GetItemValue(ScenarioEditorItemId itemId) { Scenario scenario = Scenarios.Data; switch (itemId) { case ScenarioEditorItemId.ScenarioName: return Config.ExistsKey(scenario.Name) ? Config.GetText(scenario.Name) : scenario.Name; case ScenarioEditorItemId.ScenarioPanelName: return scenario.PanelName; case ScenarioEditorItemId.ScenarioStartYear: return scenario.GlobalData.StartDate?.Year; case ScenarioEditorItemId.ScenarioStartMonth: return scenario.GlobalData.StartDate?.Month; case ScenarioEditorItemId.ScenarioStartDay: return scenario.GlobalData.StartDate?.Day; case ScenarioEditorItemId.ScenarioEndYear: return scenario.GlobalData.EndDate?.Year; case ScenarioEditorItemId.ScenarioEndMonth: return scenario.GlobalData.EndDate?.Month; case ScenarioEditorItemId.ScenarioEndDay: return scenario.GlobalData.EndDate?.Day; case ScenarioEditorItemId.ScenarioIncludeFolder: return scenario.IncludeFolder; case ScenarioEditorItemId.ScenarioBattleScenario: return scenario.Header.IsBattleScenario; case ScenarioEditorItemId.ScenarioFreeSelection: return scenario.Header.IsFreeSelection; case ScenarioEditorItemId.ScenarioAllowDiplomacy: return (scenario.GlobalData.Rules == null) || scenario.GlobalData.Rules.AllowDiplomacy; case ScenarioEditorItemId.ScenarioAllowProduction: return (scenario.GlobalData.Rules == null) || scenario.GlobalData.Rules.AllowProduction; case ScenarioEditorItemId.ScenarioAllowTechnology: return (scenario.GlobalData.Rules == null) || scenario.GlobalData.Rules.AllowTechnology; case ScenarioEditorItemId.ScenarioAiAggressive: return scenario.Header.AiAggressive; case ScenarioEditorItemId.ScenarioDifficulty: return scenario.Header.Difficulty; case ScenarioEditorItemId.ScenarioGameSpeed: return scenario.Header.GameSpeed; } return null; }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="spy">諜報設定</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, SpySettings spy) { switch (itemId) { case ScenarioEditorItemId.IntelligenceSpies: spy.Spies = (int) val; break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="province">プロヴィンス</param> /// <param name="settings">国家設定</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, Province province, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.CountryCapital: settings.Capital = province.Id; break; case ScenarioEditorItemId.CountryCoreProvinces: if ((bool) val) { Scenarios.AddCoreProvince(province.Id, settings); } else { Scenarios.RemoveCoreProvince(province.Id, settings); } break; case ScenarioEditorItemId.CountryOwnedProvinces: if ((bool) val) { Scenarios.AddOwnedProvince(province.Id, settings); } else { Scenarios.RemoveOwnedProvince(province.Id, settings); } break; case ScenarioEditorItemId.CountryControlledProvinces: if ((bool) val) { Scenarios.AddControlledProvince(province.Id, settings); } else { Scenarios.RemoveControlledProvince(province.Id, settings); } break; case ScenarioEditorItemId.CountryClaimedProvinces: if ((bool) val) { Scenarios.AddClaimedProvince(province.Id, settings); } else { Scenarios.RemoveClaimedProvince(province.Id, settings); } break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="alliance">同盟</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, Alliance alliance) { switch (itemId) { case ScenarioEditorItemId.AllianceName: if (!string.IsNullOrEmpty(alliance.Name)) { Config.SetText("ALLIANCE_" + alliance.Name, (string) val, Game.ScenarioTextFileName); } else { ScenarioGlobalData data = Scenarios.Data.GlobalData; if (alliance == data.Axis) { Config.SetText(TextId.AllianceAxis, (string) val, Game.ScenarioTextFileName); } else if (alliance == data.Allies) { Config.SetText(TextId.AllianceAllies, (string) val, Game.ScenarioTextFileName); } else if (alliance == data.Comintern) { Config.SetText(TextId.AllianceComintern, (string) val, Game.ScenarioTextFileName); } } break; case ScenarioEditorItemId.AllianceType: alliance.Id.Type = (int) val; break; case ScenarioEditorItemId.AllianceId: alliance.Id.Id = (int) val; break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="relation">国家関係</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, Relation relation) { switch (itemId) { case ScenarioEditorItemId.DiplomacyRelationValue: relation.Value = (double) val; break; case ScenarioEditorItemId.DiplomacyMilitaryAccess: relation.Access = (bool) val; break; case ScenarioEditorItemId.DiplomacyGuaranteed: relation.Guaranteed = (bool) val ? new GameDate() : null; break; case ScenarioEditorItemId.DiplomacyGuaranteedEndYear: relation.Guaranteed.Year = (int) val; break; case ScenarioEditorItemId.DiplomacyGuaranteedEndMonth: relation.Guaranteed.Month = (int) val; break; case ScenarioEditorItemId.DiplomacyGuaranteedEndDay: relation.Guaranteed.Day = (int) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="alliance">同盟</param> public void SetItemDirty(ScenarioEditorItemId itemId, Alliance alliance) { alliance.SetDirty((Alliance.ItemId) ItemDirtyFlags[(int) itemId]); Scenarios.Data.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="war">戦争</param> public void SetItemDirty(ScenarioEditorItemId itemId, War war) { war.SetDirty((War.ItemId) ItemDirtyFlags[(int) itemId]); Scenarios.Data.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> public void SetItemDirty(ScenarioEditorItemId itemId) { Scenarios.Data.SetDirty((Scenario.ItemId) ItemDirtyFlags[(int) itemId]); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="major">主要国設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, MajorCountrySettings major) { major.SetDirty((MajorCountrySettings.ItemId) ItemDirtyFlags[(int) itemId]); Scenarios.Data.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 項目値変更前の処理 /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="division">師団</param> /// <param name="settings">国家設定</param> public void PreItemChanged(ScenarioEditorItemId itemId, object val, Division division, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.DivisionType: if (division.Id == null) { division.Id = new TypeId(); PreItemChangedDivisionType((TextBox) _form.GetItemControl(ScenarioEditorItemId.DivisionId), val, division, settings); } break; case ScenarioEditorItemId.DivisionId: if (division.Id == null) { division.Id = new TypeId(); PreItemChangedDivisionId((TextBox) _form.GetItemControl(ScenarioEditorItemId.DivisionType), val, division, settings); } break; } }
/// <summary> /// 項目値変更前の処理 /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="unit">ユニット</param> /// <param name="settings">国家設定</param> public void PreItemChanged(ScenarioEditorItemId itemId, object val, Unit unit, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.UnitType: if (unit.Id == null) { unit.Id = new TypeId(); PreItemChangedUnitType((TextBox) _form.GetItemControl(ScenarioEditorItemId.UnitId), val, unit, settings); } break; case ScenarioEditorItemId.UnitId: if (unit.Id == null) { unit.Id = new TypeId(); PreItemChangedUnitId((TextBox) _form.GetItemControl(ScenarioEditorItemId.UnitType), val, unit, settings); } break; } }
/// <summary> /// 項目変更前の処理 /// </summary> /// <param name="itemId">項目ID</param> /// <param name="settings">プロヴィンス設定</param> public void PreItemChanged(ScenarioEditorItemId itemId, ProvinceSettings settings) { switch (itemId) { case ScenarioEditorItemId.ProvinceIcCurrent: case ScenarioEditorItemId.ProvinceIcMax: case ScenarioEditorItemId.ProvinceIcRelative: if (settings.Ic == null) { settings.Ic = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceInfrastructureCurrent: case ScenarioEditorItemId.ProvinceInfrastructureMax: case ScenarioEditorItemId.ProvinceInfrastructureRelative: if (settings.Infrastructure == null) { settings.Infrastructure = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceLandFortCurrent: case ScenarioEditorItemId.ProvinceLandFortMax: case ScenarioEditorItemId.ProvinceLandFortRelative: if (settings.LandFort == null) { settings.LandFort = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceCoastalFortCurrent: case ScenarioEditorItemId.ProvinceCoastalFortMax: case ScenarioEditorItemId.ProvinceCoastalFortRelative: if (settings.CoastalFort == null) { settings.CoastalFort = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceAntiAirCurrent: case ScenarioEditorItemId.ProvinceAntiAirMax: case ScenarioEditorItemId.ProvinceAntiAirRelative: if (settings.AntiAir == null) { settings.AntiAir = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceAirBaseCurrent: case ScenarioEditorItemId.ProvinceAirBaseMax: case ScenarioEditorItemId.ProvinceAirBaseRelative: if (settings.AirBase == null) { settings.AirBase = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceNavalBaseCurrent: case ScenarioEditorItemId.ProvinceNavalBaseMax: case ScenarioEditorItemId.ProvinceNavalBaseRelative: if (settings.NavalBase == null) { settings.NavalBase = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceRadarStationCurrent: case ScenarioEditorItemId.ProvinceRadarStationMax: case ScenarioEditorItemId.ProvinceRadarStationRelative: if (settings.RadarStation == null) { settings.RadarStation = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceNuclearReactorCurrent: case ScenarioEditorItemId.ProvinceNuclearReactorMax: case ScenarioEditorItemId.ProvinceNuclearReactorRelative: if (settings.NuclearReactor == null) { settings.NuclearReactor = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceRocketTestCurrent: case ScenarioEditorItemId.ProvinceRocketTestMax: case ScenarioEditorItemId.ProvinceRocketTestRelative: if (settings.RocketTest == null) { settings.RocketTest = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceSyntheticOilCurrent: case ScenarioEditorItemId.ProvinceSyntheticOilMax: case ScenarioEditorItemId.ProvinceSyntheticOilRelative: if (settings.SyntheticOil == null) { settings.SyntheticOil = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceSyntheticRaresCurrent: case ScenarioEditorItemId.ProvinceSyntheticRaresMax: case ScenarioEditorItemId.ProvinceSyntheticRaresRelative: if (settings.SyntheticRares == null) { settings.SyntheticRares = new BuildingSize(); } break; case ScenarioEditorItemId.ProvinceNuclearPowerCurrent: case ScenarioEditorItemId.ProvinceNuclearPowerMax: case ScenarioEditorItemId.ProvinceNuclearPowerRelative: if (settings.NuclearPower == null) { settings.NuclearPower = new BuildingSize(); } break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> public void SetItemValue(ScenarioEditorItemId itemId, object val) { Scenario scenario = Scenarios.Data; switch (itemId) { case ScenarioEditorItemId.ScenarioName: if (Config.ExistsKey(scenario.Name)) { Config.SetText(scenario.Name, (string) val, Game.ScenarioTextFileName); } else { scenario.Name = (string) val; } break; case ScenarioEditorItemId.ScenarioPanelName: scenario.PanelName = (string) val; break; case ScenarioEditorItemId.ScenarioStartYear: scenario.GlobalData.StartDate.Year = (int) val; break; case ScenarioEditorItemId.ScenarioStartMonth: scenario.GlobalData.StartDate.Month = (int) val; break; case ScenarioEditorItemId.ScenarioStartDay: scenario.GlobalData.StartDate.Day = (int) val; break; case ScenarioEditorItemId.ScenarioEndYear: scenario.GlobalData.EndDate.Year = (int) val; break; case ScenarioEditorItemId.ScenarioEndMonth: scenario.GlobalData.EndDate.Month = (int) val; break; case ScenarioEditorItemId.ScenarioEndDay: scenario.GlobalData.EndDate.Day = (int) val; break; case ScenarioEditorItemId.ScenarioIncludeFolder: scenario.IncludeFolder = (string) val; break; case ScenarioEditorItemId.ScenarioBattleScenario: scenario.Header.IsBattleScenario = (bool) val; break; case ScenarioEditorItemId.ScenarioFreeSelection: scenario.Header.IsFreeSelection = (bool) val; break; case ScenarioEditorItemId.ScenarioAllowDiplomacy: scenario.GlobalData.Rules.AllowDiplomacy = (bool) val; break; case ScenarioEditorItemId.ScenarioAllowProduction: scenario.GlobalData.Rules.AllowProduction = (bool) val; break; case ScenarioEditorItemId.ScenarioAllowTechnology: scenario.GlobalData.Rules.AllowTechnology = (bool) val; break; case ScenarioEditorItemId.ScenarioAiAggressive: scenario.Header.AiAggressive = (int) val; break; case ScenarioEditorItemId.ScenarioDifficulty: scenario.Header.Difficulty = (int) val; break; case ScenarioEditorItemId.ScenarioGameSpeed: scenario.Header.GameSpeed = (int) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="relation">国家関係</param> /// <param name="settings">国家設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, Relation relation, CountrySettings settings) { relation.SetDirty((Relation.ItemId) ItemDirtyFlags[(int) itemId]); settings.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="major">主要国設定</param> /// <param name="val">編集項目の値</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, MajorCountrySettings major) { switch (itemId) { case ScenarioEditorItemId.MajorCountryNameKey: major.Name = (string) val; break; case ScenarioEditorItemId.MajorCountryNameString: // 主要国設定の国名 if (!string.IsNullOrEmpty(major.Name)) { Config.SetText(major.Name, (string) val, Game.WorldTextFileName); break; } // 国家設定の国名 CountrySettings settings = Scenarios.GetCountrySettings(major.Country); if (!string.IsNullOrEmpty(settings?.Name)) { Config.SetText(settings.Name, (string) val, Game.WorldTextFileName); break; } // 標準の国名 Config.SetText(Countries.Strings[(int) major.Country], (string) val, Game.WorldTextFileName); break; case ScenarioEditorItemId.MajorFlagExt: major.FlagExt = (string) val; break; case ScenarioEditorItemId.MajorCountryDescKey: major.Desc = (string) val; break; case ScenarioEditorItemId.MajorCountryDescString: // 主要国設定の説明文 if (!string.IsNullOrEmpty(major.Desc)) { Config.SetText(major.Desc, (string) val, Game.ScenarioTextFileName); break; } int year = Scenarios.Data.GlobalData.StartDate != null ? Scenarios.Data.GlobalData.StartDate.Year : Scenarios.Data.Header.StartDate != null ? Scenarios.Data.Header.StartDate.Year : Scenarios.Data.Header.StartYear; // 年数の下2桁のみ使用する year = year % 100; // 年数別の説明文 string key = $"{major.Country}_{year}_DESC"; if (Config.ExistsKey(key)) { Config.SetText(key, (string) val, Game.ScenarioTextFileName); break; } // 標準の説明文 key = $"{major.Country}_DESC"; Config.SetText(key, (string) val, Game.ScenarioTextFileName); break; case ScenarioEditorItemId.MajorPropaganada: major.PictureName = (string) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="treaty">協定</param> public void SetItemDirty(ScenarioEditorItemId itemId, Treaty treaty) { switch (itemId) { case ScenarioEditorItemId.DiplomacyNonAggression: case ScenarioEditorItemId.DiplomacyPeace: if (treaty != null) { treaty.SetDirty(Treaty.ItemId.StartYear); treaty.SetDirty(Treaty.ItemId.StartMonth); treaty.SetDirty(Treaty.ItemId.StartDay); treaty.SetDirty(Treaty.ItemId.EndYear); treaty.SetDirty(Treaty.ItemId.EndMonth); treaty.SetDirty(Treaty.ItemId.EndDay); treaty.SetDirty(Treaty.ItemId.Type); treaty.SetDirty(Treaty.ItemId.Id); treaty.SetDirty(); } break; default: treaty.SetDirty((Treaty.ItemId) ItemDirtyFlags[(int) itemId]); break; } Scenarios.Data.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="war">戦争</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, War war) { switch (itemId) { case ScenarioEditorItemId.WarStartYear: war.StartDate.Year = (int) val; break; case ScenarioEditorItemId.WarStartMonth: war.StartDate.Month = (int) val; break; case ScenarioEditorItemId.WarStartDay: war.StartDate.Day = (int) val; break; case ScenarioEditorItemId.WarEndYear: war.EndDate.Year = (int) val; break; case ScenarioEditorItemId.WarEndMonth: war.EndDate.Month = (int) val; break; case ScenarioEditorItemId.WarEndDay: war.EndDate.Day = (int) val; break; case ScenarioEditorItemId.WarType: war.Id.Type = (int) val; break; case ScenarioEditorItemId.WarId: war.Id.Id = (int) val; break; case ScenarioEditorItemId.WarAttackerType: war.Attackers.Id.Type = (int) val; break; case ScenarioEditorItemId.WarAttackerId: war.Attackers.Id.Id = (int) val; break; case ScenarioEditorItemId.WarDefenderType: war.Defenders.Id.Type = (int) val; break; case ScenarioEditorItemId.WarDefenderId: war.Defenders.Id.Id = (int) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="settings">国家設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, CountrySettings settings) { settings.SetDirty((CountrySettings.ItemId) ItemDirtyFlags[(int) itemId]); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="treaty">協定</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, Treaty treaty) { switch (itemId) { case ScenarioEditorItemId.DiplomacyNonAggressionStartYear: case ScenarioEditorItemId.DiplomacyPeaceStartYear: case ScenarioEditorItemId.TradeStartYear: treaty.StartDate.Year = (int) val; break; case ScenarioEditorItemId.DiplomacyNonAggressionStartMonth: case ScenarioEditorItemId.DiplomacyPeaceStartMonth: case ScenarioEditorItemId.TradeStartMonth: treaty.StartDate.Month = (int) val; break; case ScenarioEditorItemId.DiplomacyNonAggressionStartDay: case ScenarioEditorItemId.DiplomacyPeaceStartDay: case ScenarioEditorItemId.TradeStartDay: treaty.StartDate.Day = (int) val; break; case ScenarioEditorItemId.DiplomacyNonAggressionEndYear: case ScenarioEditorItemId.DiplomacyPeaceEndYear: case ScenarioEditorItemId.TradeEndYear: treaty.EndDate.Year = (int) val; break; case ScenarioEditorItemId.DiplomacyNonAggressionEndMonth: case ScenarioEditorItemId.DiplomacyPeaceEndMonth: case ScenarioEditorItemId.TradeEndMonth: treaty.EndDate.Month = (int) val; break; case ScenarioEditorItemId.DiplomacyNonAggressionEndDay: case ScenarioEditorItemId.DiplomacyPeaceEndDay: case ScenarioEditorItemId.TradeEndDay: treaty.EndDate.Day = (int) val; break; case ScenarioEditorItemId.DiplomacyNonAggressionType: case ScenarioEditorItemId.DiplomacyPeaceType: case ScenarioEditorItemId.TradeType: Scenarios.SetType(treaty.Id, (int) val); break; case ScenarioEditorItemId.DiplomacyNonAggressionId: case ScenarioEditorItemId.DiplomacyPeaceId: case ScenarioEditorItemId.TradeId: Scenarios.SetId(treaty.Id, (int) val); break; case ScenarioEditorItemId.TradeCancel: treaty.Cancel = (bool) val; break; case ScenarioEditorItemId.TradeCountry1: treaty.Country1 = (Country) val; break; case ScenarioEditorItemId.TradeCountry2: treaty.Country2 = (Country) val; break; case ScenarioEditorItemId.TradeEnergy1: treaty.Energy = -(double) val; break; case ScenarioEditorItemId.TradeEnergy2: treaty.Energy = (double) val; break; case ScenarioEditorItemId.TradeMetal1: treaty.Metal = -(double) val; break; case ScenarioEditorItemId.TradeMetal2: treaty.Metal = (double) val; break; case ScenarioEditorItemId.TradeRareMaterials1: treaty.RareMaterials = -(double) val; break; case ScenarioEditorItemId.TradeRareMaterials2: treaty.RareMaterials = (double) val; break; case ScenarioEditorItemId.TradeOil1: treaty.Oil = -(double) val; break; case ScenarioEditorItemId.TradeOil2: treaty.Oil = (double) val; break; case ScenarioEditorItemId.TradeSupplies1: treaty.Supplies = -(double) val; break; case ScenarioEditorItemId.TradeSupplies2: treaty.Supplies = (double) val; break; case ScenarioEditorItemId.TradeMoney1: treaty.Money = -(double) val; break; case ScenarioEditorItemId.TradeMoney2: treaty.Money = (double) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="province">プロヴィンス</param> /// <param name="settings">国家設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, Province province, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.CountryCapital: settings.SetDirty((CountrySettings.ItemId) ItemDirtyFlags[(int) itemId]); Scenarios.SetDirty(); break; case ScenarioEditorItemId.CountryCoreProvinces: settings.SetDirtyCoreProvinces(province.Id); Scenarios.SetDirty(); break; case ScenarioEditorItemId.CountryOwnedProvinces: settings.SetDirtyOwnedProvinces(province.Id); Scenarios.SetDirty(); break; case ScenarioEditorItemId.CountryControlledProvinces: settings.SetDirtyControlledProvinces(province.Id); Scenarios.Data.SetDirtyProvinces(); Scenarios.SetDirty(); break; case ScenarioEditorItemId.CountryClaimedProvinces: settings.SetDirtyClaimedProvinces(province.Id); Scenarios.SetDirty(); break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="settings">国家設定</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.DiplomacyMaster: settings.Master = (Country) val; break; case ScenarioEditorItemId.DiplomacyMilitaryControl: settings.Control = (Country) val; break; case ScenarioEditorItemId.CountryNameKey: settings.Name = (string) val; break; case ScenarioEditorItemId.CountryNameString: Config.SetText(settings.Name, (string) val, Game.WorldTextFileName); break; case ScenarioEditorItemId.CountryFlagExt: settings.FlagExt = (string) val; break; case ScenarioEditorItemId.CountryRegularId: settings.RegularId = (Country) val; break; case ScenarioEditorItemId.CountryBelligerence: settings.Belligerence = (int) val; break; case ScenarioEditorItemId.CountryDissent: settings.Dissent = (double) val; break; case ScenarioEditorItemId.CountryExtraTc: settings.ExtraTc = (double) val; break; case ScenarioEditorItemId.CountryNuke: settings.Nuke = (int) val; break; case ScenarioEditorItemId.CountryNukeYear: settings.NukeDate.Year = (int) val; break; case ScenarioEditorItemId.CountryNukeMonth: settings.NukeDate.Month = (int) val; break; case ScenarioEditorItemId.CountryNukeDay: settings.NukeDate.Day = (int) val; break; case ScenarioEditorItemId.CountryGroundDefEff: settings.GroundDefEff = (double) val; break; case ScenarioEditorItemId.CountryPeacetimeIcModifier: settings.PeacetimeIcModifier = (double) val; break; case ScenarioEditorItemId.CountryWartimeIcModifier: settings.WartimeIcModifier = (double) val; break; case ScenarioEditorItemId.CountryIndustrialModifier: settings.IndustrialModifier = (double) val; break; case ScenarioEditorItemId.CountryRelativeManpower: settings.RelativeManpower = (double) val; break; case ScenarioEditorItemId.CountryEnergy: settings.Energy = (double) val; break; case ScenarioEditorItemId.CountryMetal: settings.Metal = (double) val; break; case ScenarioEditorItemId.CountryRareMaterials: settings.RareMaterials = (double) val; break; case ScenarioEditorItemId.CountryOil: settings.Oil = (double) val; break; case ScenarioEditorItemId.CountrySupplies: settings.Supplies = (double) val; break; case ScenarioEditorItemId.CountryMoney: settings.Money = (double) val; break; case ScenarioEditorItemId.CountryTransports: settings.Transports = (int) val; break; case ScenarioEditorItemId.CountryEscorts: settings.Escorts = (int) val; break; case ScenarioEditorItemId.CountryManpower: settings.Manpower = (double) val; break; case ScenarioEditorItemId.CountryOffmapEnergy: settings.Offmap.Energy = (double) val; break; case ScenarioEditorItemId.CountryOffmapMetal: settings.Offmap.Metal = (double) val; break; case ScenarioEditorItemId.CountryOffmapRareMaterials: settings.Offmap.RareMaterials = (double) val; break; case ScenarioEditorItemId.CountryOffmapOil: settings.Offmap.Oil = (double) val; break; case ScenarioEditorItemId.CountryOffmapSupplies: settings.Offmap.Supplies = (double) val; break; case ScenarioEditorItemId.CountryOffmapMoney: settings.Offmap.Money = (double) val; break; case ScenarioEditorItemId.CountryOffmapTransports: settings.Offmap.Transports = (int) val; break; case ScenarioEditorItemId.CountryOffmapEscorts: settings.Offmap.Escorts = (int) val; break; case ScenarioEditorItemId.CountryOffmapManpower: settings.Offmap.Manpower = (double) val; break; case ScenarioEditorItemId.CountryOffmapIc: settings.Offmap.Ic = (double) val; break; case ScenarioEditorItemId.CountryAiFileName: settings.AiFileName = (string) val; break; case ScenarioEditorItemId.SliderYear: settings.Policy.Date.Year = (int) val; break; case ScenarioEditorItemId.SliderMonth: settings.Policy.Date.Month = (int) val; break; case ScenarioEditorItemId.SliderDay: settings.Policy.Date.Day = (int) val; break; case ScenarioEditorItemId.SliderDemocratic: settings.Policy.Democratic = (int) val; break; case ScenarioEditorItemId.SliderPoliticalLeft: settings.Policy.PoliticalLeft = (int) val; break; case ScenarioEditorItemId.SliderFreedom: settings.Policy.Freedom = (int) val; break; case ScenarioEditorItemId.SliderFreeMarket: settings.Policy.FreeMarket = (int) val; break; case ScenarioEditorItemId.SliderProfessionalArmy: settings.Policy.ProfessionalArmy = (int) val; break; case ScenarioEditorItemId.SliderDefenseLobby: settings.Policy.DefenseLobby = (int) val; break; case ScenarioEditorItemId.SliderInterventionism: settings.Policy.Interventionism = (int) val; break; case ScenarioEditorItemId.CabinetHeadOfState: case ScenarioEditorItemId.CabinetHeadOfStateId: Scenarios.SetId(settings.HeadOfState, (int) val); break; case ScenarioEditorItemId.CabinetHeadOfStateType: Scenarios.SetType(settings.HeadOfState, (int) val); break; case ScenarioEditorItemId.CabinetHeadOfGovernment: case ScenarioEditorItemId.CabinetHeadOfGovernmentId: Scenarios.SetId(settings.HeadOfGovernment, (int) val); break; case ScenarioEditorItemId.CabinetHeadOfGovernmentType: Scenarios.SetType(settings.HeadOfGovernment, (int) val); break; case ScenarioEditorItemId.CabinetForeignMinister: case ScenarioEditorItemId.CabinetForeignMinisterId: Scenarios.SetId(settings.ForeignMinister, (int) val); break; case ScenarioEditorItemId.CabinetForeignMinisterType: Scenarios.SetType(settings.ForeignMinister, (int) val); break; case ScenarioEditorItemId.CabinetArmamentMinister: case ScenarioEditorItemId.CabinetArmamentMinisterId: Scenarios.SetId(settings.ArmamentMinister, (int) val); break; case ScenarioEditorItemId.CabinetArmamentMinisterType: Scenarios.SetType(settings.ArmamentMinister, (int) val); break; case ScenarioEditorItemId.CabinetMinisterOfSecurity: case ScenarioEditorItemId.CabinetMinisterOfSecurityId: Scenarios.SetId(settings.MinisterOfSecurity, (int) val); break; case ScenarioEditorItemId.CabinetMinisterOfSecurityType: Scenarios.SetType(settings.MinisterOfSecurity, (int) val); break; case ScenarioEditorItemId.CabinetMinisterOfIntelligence: case ScenarioEditorItemId.CabinetMinisterOfIntelligenceId: Scenarios.SetId(settings.MinisterOfIntelligence, (int) val); break; case ScenarioEditorItemId.CabinetMinisterOfIntelligenceType: Scenarios.SetType(settings.MinisterOfIntelligence, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfStaff: case ScenarioEditorItemId.CabinetChiefOfStaffId: Scenarios.SetId(settings.ChiefOfStaff, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfStaffType: Scenarios.SetType(settings.ChiefOfStaff, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfArmy: case ScenarioEditorItemId.CabinetChiefOfArmyId: Scenarios.SetId(settings.ChiefOfArmy, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfArmyType: Scenarios.SetType(settings.ChiefOfArmy, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfNavy: case ScenarioEditorItemId.CabinetChiefOfNavyId: Scenarios.SetId(settings.ChiefOfNavy, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfNavyType: Scenarios.SetType(settings.ChiefOfNavy, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfAir: case ScenarioEditorItemId.CabinetChiefOfAirId: Scenarios.SetId(settings.ChiefOfAir, (int) val); break; case ScenarioEditorItemId.CabinetChiefOfAirType: Scenarios.SetType(settings.ChiefOfAir, (int) val); break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="settings">プロヴィンス設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, ProvinceSettings settings) { settings.SetDirty((ProvinceSettings.ItemId) ItemDirtyFlags[(int) itemId]); switch (itemId) { case ScenarioEditorItemId.ProvinceNameKey: case ScenarioEditorItemId.ProvinceManpowerCurrent: case ScenarioEditorItemId.ProvinceManpowerMax: case ScenarioEditorItemId.ProvinceEnergyCurrent: case ScenarioEditorItemId.ProvinceEnergyMax: case ScenarioEditorItemId.ProvinceMetalCurrent: case ScenarioEditorItemId.ProvinceMetalMax: case ScenarioEditorItemId.ProvinceRareMaterialsCurrent: case ScenarioEditorItemId.ProvinceRareMaterialsMax: case ScenarioEditorItemId.ProvinceOilCurrent: case ScenarioEditorItemId.ProvinceOilMax: if (Scenarios.Data.IsBaseProvinceSettings || Scenarios.Data.IsCountryProvinceSettings) { Scenarios.Data.SetDirtyProvinces(); } else { Scenarios.Data.SetDirty(); } Scenarios.SetDirty(); break; case ScenarioEditorItemId.ProvinceEnergyPool: case ScenarioEditorItemId.ProvinceMetalPool: case ScenarioEditorItemId.ProvinceRareMaterialsPool: case ScenarioEditorItemId.ProvinceOilPool: case ScenarioEditorItemId.ProvinceSupplyPool: if (Scenarios.Data.IsDepotsProvinceSettings || Scenarios.Data.IsBaseProvinceSettings || Scenarios.Data.IsCountryProvinceSettings) { Scenarios.Data.SetDirtyProvinces(); } else { Scenarios.Data.SetDirty(); } Scenarios.SetDirty(); break; case ScenarioEditorItemId.ProvinceIcCurrent: case ScenarioEditorItemId.ProvinceIcMax: case ScenarioEditorItemId.ProvinceIcRelative: case ScenarioEditorItemId.ProvinceInfrastructureCurrent: case ScenarioEditorItemId.ProvinceInfrastructureMax: case ScenarioEditorItemId.ProvinceInfrastructureRelative: case ScenarioEditorItemId.ProvinceLandFortCurrent: case ScenarioEditorItemId.ProvinceLandFortMax: case ScenarioEditorItemId.ProvinceLandFortRelative: case ScenarioEditorItemId.ProvinceCoastalFortCurrent: case ScenarioEditorItemId.ProvinceCoastalFortMax: case ScenarioEditorItemId.ProvinceCoastalFortRelative: case ScenarioEditorItemId.ProvinceAntiAirCurrent: case ScenarioEditorItemId.ProvinceAntiAirMax: case ScenarioEditorItemId.ProvinceAntiAirRelative: case ScenarioEditorItemId.ProvinceAirBaseCurrent: case ScenarioEditorItemId.ProvinceAirBaseMax: case ScenarioEditorItemId.ProvinceAirBaseRelative: case ScenarioEditorItemId.ProvinceNavalBaseCurrent: case ScenarioEditorItemId.ProvinceNavalBaseMax: case ScenarioEditorItemId.ProvinceNavalBaseRelative: case ScenarioEditorItemId.ProvinceRadarStationCurrent: case ScenarioEditorItemId.ProvinceRadarStationMax: case ScenarioEditorItemId.ProvinceRadarStationRelative: case ScenarioEditorItemId.ProvinceNuclearReactorCurrent: case ScenarioEditorItemId.ProvinceNuclearReactorMax: case ScenarioEditorItemId.ProvinceNuclearReactorRelative: case ScenarioEditorItemId.ProvinceRocketTestCurrent: case ScenarioEditorItemId.ProvinceRocketTestMax: case ScenarioEditorItemId.ProvinceRocketTestRelative: case ScenarioEditorItemId.ProvinceSyntheticOilCurrent: case ScenarioEditorItemId.ProvinceSyntheticOilMax: case ScenarioEditorItemId.ProvinceSyntheticOilRelative: case ScenarioEditorItemId.ProvinceSyntheticRaresCurrent: case ScenarioEditorItemId.ProvinceSyntheticRaresMax: case ScenarioEditorItemId.ProvinceSyntheticRaresRelative: case ScenarioEditorItemId.ProvinceNuclearPowerCurrent: case ScenarioEditorItemId.ProvinceNuclearPowerMax: case ScenarioEditorItemId.ProvinceNuclearPowerRelative: case ScenarioEditorItemId.ProvinceRevoltRisk: if (Scenarios.Data.IsBaseDodProvinceSettings || Scenarios.Data.IsBaseProvinceSettings || Scenarios.Data.IsCountryProvinceSettings) { Scenarios.Data.SetDirtyProvinces(); } else { Scenarios.Data.SetDirty(); } Scenarios.SetDirty(); break; case ScenarioEditorItemId.ProvinceVp: if (Scenarios.Data.IsVpProvinceSettings) { Scenarios.Data.SetDirtyVpInc(); } else { Scenarios.Data.SetDirty(); } Scenarios.SetDirty(); break; } }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="settings">プロヴィンス設定</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, ProvinceSettings settings) { switch (itemId) { case ScenarioEditorItemId.ProvinceNameKey: settings.Name = (string) val; break; case ScenarioEditorItemId.ProvinceNameString: Config.SetText(settings.Name, (string) val, Game.ProvinceTextFileName); break; case ScenarioEditorItemId.ProvinceVp: settings.Vp = (int) val; break; case ScenarioEditorItemId.ProvinceRevoltRisk: settings.RevoltRisk = (double) val; break; case ScenarioEditorItemId.ProvinceManpowerCurrent: settings.Manpower = (double) val; break; case ScenarioEditorItemId.ProvinceManpowerMax: settings.MaxManpower = (double) val; break; case ScenarioEditorItemId.ProvinceEnergyPool: settings.EnergyPool = (double) val; break; case ScenarioEditorItemId.ProvinceEnergyCurrent: settings.Energy = (double) val; break; case ScenarioEditorItemId.ProvinceEnergyMax: settings.MaxEnergy = (double) val; break; case ScenarioEditorItemId.ProvinceMetalPool: settings.MetalPool = (double) val; break; case ScenarioEditorItemId.ProvinceMetalCurrent: settings.Metal = (double) val; break; case ScenarioEditorItemId.ProvinceMetalMax: settings.MaxMetal = (double) val; break; case ScenarioEditorItemId.ProvinceRareMaterialsPool: settings.RareMaterialsPool = (double) val; break; case ScenarioEditorItemId.ProvinceRareMaterialsCurrent: settings.RareMaterials = (double) val; break; case ScenarioEditorItemId.ProvinceRareMaterialsMax: settings.MaxRareMaterials = (double) val; break; case ScenarioEditorItemId.ProvinceOilPool: settings.OilPool = (double) val; break; case ScenarioEditorItemId.ProvinceOilCurrent: settings.Oil = (double) val; break; case ScenarioEditorItemId.ProvinceOilMax: settings.MaxOil = (double) val; break; case ScenarioEditorItemId.ProvinceSupplyPool: settings.SupplyPool = (double) val; break; case ScenarioEditorItemId.ProvinceIcCurrent: settings.Ic.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceIcMax: settings.Ic.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceIcRelative: settings.Ic.Size = (double) val; break; case ScenarioEditorItemId.ProvinceInfrastructureCurrent: settings.Infrastructure.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceInfrastructureMax: settings.Infrastructure.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceInfrastructureRelative: settings.Infrastructure.Size = (double) val; break; case ScenarioEditorItemId.ProvinceLandFortCurrent: settings.LandFort.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceLandFortMax: settings.LandFort.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceLandFortRelative: settings.LandFort.Size = (double) val; break; case ScenarioEditorItemId.ProvinceCoastalFortCurrent: settings.CoastalFort.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceCoastalFortMax: settings.CoastalFort.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceCoastalFortRelative: settings.CoastalFort.Size = (double) val; break; case ScenarioEditorItemId.ProvinceAntiAirCurrent: settings.AntiAir.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceAntiAirMax: settings.AntiAir.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceAntiAirRelative: settings.AntiAir.Size = (double) val; break; case ScenarioEditorItemId.ProvinceAirBaseCurrent: settings.AirBase.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceAirBaseMax: settings.AirBase.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceAirBaseRelative: settings.AirBase.Size = (double) val; break; case ScenarioEditorItemId.ProvinceNavalBaseCurrent: settings.NavalBase.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceNavalBaseMax: settings.NavalBase.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceNavalBaseRelative: settings.NavalBase.Size = (double) val; break; case ScenarioEditorItemId.ProvinceRadarStationCurrent: settings.RadarStation.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceRadarStationMax: settings.RadarStation.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceRadarStationRelative: settings.RadarStation.Size = (double) val; break; case ScenarioEditorItemId.ProvinceNuclearReactorCurrent: settings.NuclearReactor.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceNuclearReactorMax: settings.NuclearReactor.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceNuclearReactorRelative: settings.NuclearReactor.Size = (double) val; break; case ScenarioEditorItemId.ProvinceRocketTestCurrent: settings.RocketTest.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceRocketTestMax: settings.RocketTest.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceRocketTestRelative: settings.RocketTest.Size = (double) val; break; case ScenarioEditorItemId.ProvinceSyntheticOilCurrent: settings.SyntheticOil.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceSyntheticOilMax: settings.SyntheticOil.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceSyntheticOilRelative: settings.SyntheticOil.Size = (double) val; break; case ScenarioEditorItemId.ProvinceSyntheticRaresCurrent: settings.SyntheticRares.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceSyntheticRaresMax: settings.SyntheticRares.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceSyntheticRaresRelative: settings.SyntheticRares.Size = (double) val; break; case ScenarioEditorItemId.ProvinceNuclearPowerCurrent: settings.NuclearPower.CurrentSize = (double) val; break; case ScenarioEditorItemId.ProvinceNuclearPowerMax: settings.NuclearPower.MaxSize = (double) val; break; case ScenarioEditorItemId.ProvinceNuclearPowerRelative: settings.NuclearPower.Size = (double) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="unit">ユニット</param> /// <param name="settings">国家設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, Unit unit, CountrySettings settings) { unit.SetDirty((Unit.ItemId) ItemDirtyFlags[(int) itemId]); settings.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 編集項目の値を設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="division">師団</param> public void SetItemValue(ScenarioEditorItemId itemId, object val, Division division) { switch (itemId) { case ScenarioEditorItemId.DivisionType: Scenarios.SetType(division.Id, (int) val); break; case ScenarioEditorItemId.DivisionId: Scenarios.SetId(division.Id, (int) val); break; case ScenarioEditorItemId.DivisionName: division.Name = (string) val; break; case ScenarioEditorItemId.DivisionUnitType: division.Type = (UnitType) val; break; case ScenarioEditorItemId.DivisionModel: division.Model = (int) val; break; case ScenarioEditorItemId.DivisionBrigadeType1: division.Extra1 = (UnitType) val; break; case ScenarioEditorItemId.DivisionBrigadeType2: division.Extra2 = (UnitType) val; break; case ScenarioEditorItemId.DivisionBrigadeType3: division.Extra3 = (UnitType) val; break; case ScenarioEditorItemId.DivisionBrigadeType4: division.Extra4 = (UnitType) val; break; case ScenarioEditorItemId.DivisionBrigadeType5: division.Extra5 = (UnitType) val; break; case ScenarioEditorItemId.DivisionBrigadeModel1: division.BrigadeModel1 = (int) val; break; case ScenarioEditorItemId.DivisionBrigadeModel2: division.BrigadeModel2 = (int) val; break; case ScenarioEditorItemId.DivisionBrigadeModel3: division.BrigadeModel3 = (int) val; break; case ScenarioEditorItemId.DivisionBrigadeModel4: division.BrigadeModel4 = (int) val; break; case ScenarioEditorItemId.DivisionBrigadeModel5: division.BrigadeModel5 = (int) val; break; case ScenarioEditorItemId.DivisionStrength: division.Strength = (double) val; break; case ScenarioEditorItemId.DivisionMaxStrength: division.MaxStrength = (double) val; break; case ScenarioEditorItemId.DivisionOrganisation: division.Organisation = (double) val; break; case ScenarioEditorItemId.DivisionMaxOrganisation: division.MaxOrganisation = (double) val; break; case ScenarioEditorItemId.DivisionMorale: division.Morale = (double) val; break; case ScenarioEditorItemId.DivisionExperience: division.Experience = (double) val; break; case ScenarioEditorItemId.DivisionLocked: division.Locked = (bool) val; break; case ScenarioEditorItemId.DivisionDormant: division.Dormant = (bool) val; break; } }
/// <summary> /// 編集項目の編集済みフラグを設定する /// </summary> /// <param name="itemId">項目ID</param> /// <param name="division">師団</param> /// <param name="settings">国家設定</param> public void SetItemDirty(ScenarioEditorItemId itemId, Division division, CountrySettings settings) { division.SetDirty((Division.ItemId) ItemDirtyFlags[(int) itemId]); settings.SetDirty(); Scenarios.SetDirty(); }
/// <summary> /// 編集項目IDに関連付けられたコントロールを取得する /// </summary> /// <param name="itemId"></param> /// <returns></returns> public Control GetItemControl(ScenarioEditorItemId itemId) { return _itemControls.ContainsKey(itemId) ? _itemControls[itemId] : null; }
/// <summary> /// 項目値変更前の処理 /// </summary> /// <param name="itemId">項目ID</param> /// <param name="val">編集項目の値</param> /// <param name="settings">国家設定</param> public void PreItemChanged(ScenarioEditorItemId itemId, object val, CountrySettings settings) { switch (itemId) { case ScenarioEditorItemId.DiplomacyMaster: PreItemChangedRelation((Country) val, (Country) GetItemValue(itemId, settings), 2); break; case ScenarioEditorItemId.DiplomacyMilitaryControl: PreItemChangedRelation((Country) val, (Country) GetItemValue(itemId, settings), 3); break; case ScenarioEditorItemId.CountryNukeYear: PreItemChangedNukeDate((TextBox) _form.GetItemControl(ScenarioEditorItemId.CountryNukeMonth), (TextBox) _form.GetItemControl(ScenarioEditorItemId.CountryNukeDay), settings); break; case ScenarioEditorItemId.CountryNukeMonth: PreItemChangedNukeDate((TextBox) _form.GetItemControl(ScenarioEditorItemId.CountryNukeYear), (TextBox) _form.GetItemControl(ScenarioEditorItemId.CountryNukeDay), settings); break; case ScenarioEditorItemId.CountryNukeDay: PreItemChangedNukeDate((TextBox) _form.GetItemControl(ScenarioEditorItemId.CountryNukeYear), (TextBox) _form.GetItemControl(ScenarioEditorItemId.CountryNukeMonth), settings); break; case ScenarioEditorItemId.CountryOffmapEnergy: case ScenarioEditorItemId.CountryOffmapMetal: case ScenarioEditorItemId.CountryOffmapRareMaterials: case ScenarioEditorItemId.CountryOffmapOil: case ScenarioEditorItemId.CountryOffmapSupplies: case ScenarioEditorItemId.CountryOffmapMoney: case ScenarioEditorItemId.CountryOffmapTransports: case ScenarioEditorItemId.CountryOffmapEscorts: case ScenarioEditorItemId.CountryOffmapManpower: case ScenarioEditorItemId.CountryOffmapIc: if (settings.Offmap == null) { settings.Offmap = new ResourceSettings(); } break; case ScenarioEditorItemId.SliderYear: PreItemChangedSliderDate((TextBox) _form.GetItemControl(ScenarioEditorItemId.SliderMonth), (TextBox) _form.GetItemControl(ScenarioEditorItemId.SliderDay), settings); break; case ScenarioEditorItemId.SliderMonth: PreItemChangedSliderDate((TextBox) _form.GetItemControl(ScenarioEditorItemId.SliderYear), (TextBox) _form.GetItemControl(ScenarioEditorItemId.SliderDay), settings); break; case ScenarioEditorItemId.SliderDay: PreItemChangedSliderDate((TextBox) _form.GetItemControl(ScenarioEditorItemId.SliderYear), (TextBox) _form.GetItemControl(ScenarioEditorItemId.SliderMonth), settings); break; case ScenarioEditorItemId.SliderDemocratic: case ScenarioEditorItemId.SliderPoliticalLeft: case ScenarioEditorItemId.SliderFreedom: case ScenarioEditorItemId.SliderFreeMarket: case ScenarioEditorItemId.SliderProfessionalArmy: case ScenarioEditorItemId.SliderDefenseLobby: case ScenarioEditorItemId.SliderInterventionism: if (settings.Policy == null) { settings.Policy = new CountryPolicy(); } break; case ScenarioEditorItemId.CabinetHeadOfState: case ScenarioEditorItemId.CabinetHeadOfStateId: if (settings.HeadOfState == null) { settings.HeadOfState = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetHeadOfStateType), settings, settings.HeadOfState); } break; case ScenarioEditorItemId.CabinetHeadOfStateType: if (settings.HeadOfState == null) { settings.HeadOfState = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetHeadOfStateId), val, settings, settings.HeadOfState); } break; case ScenarioEditorItemId.CabinetHeadOfGovernment: case ScenarioEditorItemId.CabinetHeadOfGovernmentId: if (settings.HeadOfGovernment == null) { settings.HeadOfGovernment = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetHeadOfGovernmentType), settings, settings.HeadOfGovernment); } break; case ScenarioEditorItemId.CabinetHeadOfGovernmentType: if (settings.HeadOfGovernment == null) { settings.HeadOfGovernment = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetHeadOfGovernmentId), val, settings, settings.HeadOfGovernment); } break; case ScenarioEditorItemId.CabinetForeignMinister: case ScenarioEditorItemId.CabinetForeignMinisterId: if (settings.ForeignMinister == null) { settings.ForeignMinister = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetForeignMinisterType), settings, settings.ForeignMinister); } break; case ScenarioEditorItemId.CabinetForeignMinisterType: if (settings.ForeignMinister == null) { settings.ForeignMinister = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetForeignMinisterId), val, settings, settings.ForeignMinister); } break; case ScenarioEditorItemId.CabinetArmamentMinister: case ScenarioEditorItemId.CabinetArmamentMinisterId: if (settings.ArmamentMinister == null) { settings.ArmamentMinister = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetArmamentMinisterType), settings, settings.ArmamentMinister); } break; case ScenarioEditorItemId.CabinetArmamentMinisterType: if (settings.ArmamentMinister == null) { settings.ArmamentMinister = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetArmamentMinisterId), val, settings, settings.ArmamentMinister); } break; case ScenarioEditorItemId.CabinetMinisterOfSecurity: case ScenarioEditorItemId.CabinetMinisterOfSecurityId: if (settings.MinisterOfSecurity == null) { settings.MinisterOfSecurity = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetMinisterOfSecurityType), settings, settings.MinisterOfSecurity); } break; case ScenarioEditorItemId.CabinetMinisterOfSecurityType: if (settings.MinisterOfSecurity == null) { settings.MinisterOfSecurity = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetMinisterOfSecurityId), val, settings, settings.MinisterOfSecurity); } break; case ScenarioEditorItemId.CabinetMinisterOfIntelligence: case ScenarioEditorItemId.CabinetMinisterOfIntelligenceId: if (settings.MinisterOfIntelligence == null) { settings.MinisterOfIntelligence = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetMinisterOfIntelligenceType), settings, settings.MinisterOfIntelligence); } break; case ScenarioEditorItemId.CabinetMinisterOfIntelligenceType: if (settings.MinisterOfIntelligence == null) { settings.MinisterOfIntelligence = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetMinisterOfIntelligenceId), val, settings, settings.MinisterOfIntelligence); } break; case ScenarioEditorItemId.CabinetChiefOfStaff: case ScenarioEditorItemId.CabinetChiefOfStaffId: if (settings.ChiefOfStaff == null) { settings.ChiefOfStaff = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfStaffType), settings, settings.ChiefOfStaff); } break; case ScenarioEditorItemId.CabinetChiefOfStaffType: if (settings.ChiefOfStaff == null) { settings.ChiefOfStaff = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfStaffId), val, settings, settings.ChiefOfStaff); } break; case ScenarioEditorItemId.CabinetChiefOfArmy: case ScenarioEditorItemId.CabinetChiefOfArmyId: if (settings.ChiefOfArmy == null) { settings.ChiefOfArmy = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfArmyType), settings, settings.ChiefOfArmy); } break; case ScenarioEditorItemId.CabinetChiefOfArmyType: if (settings.ChiefOfArmy == null) { settings.ChiefOfArmy = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfArmyId), val, settings, settings.ChiefOfArmy); } break; case ScenarioEditorItemId.CabinetChiefOfNavy: case ScenarioEditorItemId.CabinetChiefOfNavyId: if (settings.ChiefOfNavy == null) { settings.ChiefOfNavy = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfNavyType), settings, settings.ChiefOfNavy); } break; case ScenarioEditorItemId.CabinetChiefOfNavyType: if (settings.ChiefOfNavy == null) { settings.ChiefOfNavy = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfNavyId), val, settings, settings.ChiefOfNavy); } break; case ScenarioEditorItemId.CabinetChiefOfAir: case ScenarioEditorItemId.CabinetChiefOfAirId: if (settings.ChiefOfAir == null) { settings.ChiefOfAir = new TypeId(); PreItemChangedCabinetId( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfAirType), settings, settings.ChiefOfAir); } break; case ScenarioEditorItemId.CabinetChiefOfAirType: if (settings.ChiefOfAir == null) { settings.ChiefOfAir = new TypeId(); PreItemChangedCabinetType( (TextBox) _form.GetItemControl(ScenarioEditorItemId.CabinetChiefOfAirId), val, settings, settings.ChiefOfAir); } break; } }