private void BuildNonDefault(ModConfigModel config) { ModSettingModel modSetting = JsonHelper.FromJsonFile <ModSettingModel>(CustomMilestonesMod.modSettingFilePath) ?? new ModSettingModel(); if (modSetting.BuildAllAssets) { CustomAssets assets = new CustomAssets(); for (uint index = 0; index < PrefabCollection <NetInfo> .LoadedCount(); index++) { NetInfo net = PrefabCollection <NetInfo> .GetLoaded(index); if (net.GetUnlockMilestone().GetLevel() > 0 && !config.RoadIncludes.Contains(config.Renames.GetRename(net.name)) && !config.RoadGroups.Any(m => m.Value.Contains(net.name))) { assets.Roads.Add(new ItemModel() { Name = net.name, LocalizedName = net.GetLocalizedTitle(), Expansions = net.m_class.m_service.ToString() + "|" + net.m_class.m_subService.ToString() + "|" + net.category }); } } for (uint index = 0; index < PrefabCollection <BuildingInfo> .LoadedCount(); index++) { BuildingInfo building = PrefabCollection <BuildingInfo> .GetLoaded(index); if (building.GetUnlockMilestone().GetLevel() > 0 && !config.BuildingIncludes.Contains(config.Renames.GetRename(building.name)) && !config.BuildingGroups.Any(m => m.Value.Contains(building.name))) { if (building.category == "RoadsIntersection") { assets.Roads.Add(new ItemModel() { Name = building.name, LocalizedName = building.GetLocalizedTitle() }); } else { assets.Buildings.Add(new ItemModel() { Name = building.name, LocalizedName = building.GetLocalizedTitle() }); } } } modSetting.BuildAllAssets = false; JsonHelper.ToJsonFile(modSetting, CustomMilestonesMod.modSettingFilePath); XmlHelper.ToXmlFile(assets, DataLocation.executableDirectory + "\\CustomMilestone-Non-Default.xml"); } }
public void OnSettingsUI(UIHelperBase helper) { ModSettingModel modSetting = JsonHelper.FromJsonFile <ModSettingModel>(modSettingFilePath) ?? new ModSettingModel(); UIHelperBase group = helper.AddGroup(Translations.Translate("ModName", "Custom Milestones")); group.AddCheckbox(Translations.Translate("Label_FreePurchaseArea", "Free purchase area"), modSetting.FreePurchaseArea, (isChecked) => { modSetting.FreePurchaseArea = isChecked; JsonHelper.ToJsonFile(modSetting, modSettingFilePath); }); group.AddCheckbox(Translations.Translate("Label_BuildNonDefaul", "Build game non-defaul assets"), modSetting.BuildAllAssets, (isChecked) => { modSetting.BuildAllAssets = isChecked; JsonHelper.ToJsonFile(modSetting, modSettingFilePath); }); }
public override int OnGetAreaPrice(uint ore, uint oil, uint forest, uint fertility, uint water, bool road, bool train, bool ship, bool plane, float landFlatness, int originalPrice) { ModSettingModel modSetting = JsonHelper.FromJsonFile <ModSettingModel>(CustomMilestonesMod.modSettingFilePath) ?? new ModSettingModel(); return(modSetting.FreePurchaseArea ? 0 : originalPrice); }