public CannonHotpatch(CannonModule template) { this.ID = template.title.ToString(); this.crew = template.crew; this.groundBatterySize = template.groundBatterySize; this.horizontalTurnMax = template.horizontalTurnMax; this.navalBatterySize = template.navalBatterySize; this.reloadTime = template.reloadTime; this.threat = template.threat; this.type = template.type.ToString(); this.verticalTurnMax = template.verticalTurnMax; this.verticalTurnMin = template.verticalTurnMin; this.weight = template.weight; this.goldPrice = template.GoldPrice; this.Ballistics.verticalSpread = template.Ballistics.verticalSpread; this.Ballistics.radius = template.Ballistics.radius; this.Ballistics.mass = template.Ballistics.mass; this.Ballistics.horizontalSpread = template.Ballistics.horizontalSpread; this.Ballistics.gravity = template.Ballistics.gravity; this.Ballistics.distance = template.Ballistics.distance; this.Ballistics.baseY = template.Ballistics.baseY; this.Ballistics.armorPiercing = template.Ballistics.armorPiercing; }
private static void Prefix(AdmiraltyManager __instance) { if (_settings.InfRifleStock || _settings.InfRifleStockArmory) { EPickerContent epickerContent = __instance.SelectedItem.ContentType; if (epickerContent != EPickerContent.Cannon) { if (epickerContent == EPickerContent.Rifle) { StoreRecord storeRecord = (__instance.SelectedItem.ContentItem as RifleItem).StoreRecord; if (_settings.InfRifleStock) { storeRecord.Shop = 999999; } if (_settings.InfRifleStockArmory) { storeRecord.Armory = 999999; } } } else { CannonModule cannon = (__instance.SelectedItem.ContentItem as CannonItem).Cannon; StoreModule storeCannon = PlayerController.instance.GetStoreCannon(cannon, true); if (_settings.InfRifleStock) { storeCannon.Shop = 999999; } if (_settings.InfRifleStockArmory) { storeCannon.Armory = 999999; } } } }
private static void LoadNavalEquipment(GameSave __result) { bool flag = true; string path = "Mods/EquipmentMod/Cannons.txt"; bool flag2 = !File.Exists(path); if (flag2) { File.CreateText(path).Close(); flag = false; } bool flag3 = !flag; if (flag3) { List <CannonModule> cannons = __result.campaign.campaignController.campSettings.shopSettings.cannonPool.cannons; bool flag4 = cannons == null; if (!flag4) { List <CannonHotpatch> list = new List <CannonHotpatch>(); foreach (CannonModule current in cannons) { list.Add(new CannonHotpatch(current)); } File.WriteAllText(path, JsonConvert.SerializeObject(list, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, MaxDepth = new int?(2) })); } } else { List <CannonHotpatch> list2 = JsonConvert.DeserializeObject <List <CannonHotpatch> >(File.ReadAllText(path)); List <CannonModule> cannons2 = __result.campaign.campaignController.campSettings.shopSettings.cannonPool.cannons; using (List <CannonHotpatch> .Enumerator enumerator2 = list2.GetEnumerator()) { while (enumerator2.MoveNext()) { CannonHotpatch updatedItem = enumerator2.Current; try { CannonModule cannonModule = cannons2.Find((CannonModule x) => x.title.ToString() == updatedItem.ID); updatedItem.Update(ref cannonModule); cannonModule.OnAfterDeserialize(); } catch (Exception) { } } } } }
private static void Prefix(AdmiraltyManager __instance) { bool flag = Main._settings.InfRifleStock || Main._settings.InfRifleStockArmory; if (flag) { EPickerContent contentType = __instance.SelectedItem.ContentType; bool flag2 = contentType != EPickerContent.Cannon; if (flag2) { bool flag3 = contentType == EPickerContent.Rifle; if (flag3) { StoreRecord storeRecord = (__instance.SelectedItem.ContentItem as RifleItem).StoreRecord; bool infRifleStock = Main._settings.InfRifleStock; if (infRifleStock) { storeRecord.Shop = 999999; } bool infRifleStockArmory = Main._settings.InfRifleStockArmory; if (infRifleStockArmory) { storeRecord.Armory = 999999; } } } else { CannonModule cannon = (__instance.SelectedItem.ContentItem as CannonItem).Cannon; StoreModule storeCannon = PlayerController.instance.GetStoreCannon(cannon, true); bool infRifleStock2 = Main._settings.InfRifleStock; if (infRifleStock2) { storeCannon.Shop = 999999; } bool infRifleStockArmory2 = Main._settings.InfRifleStockArmory; if (infRifleStockArmory2) { storeCannon.Armory = 999999; } } } }
public void Update(ref CannonModule template) { template.crew = this.crew; template.groundBatterySize = this.groundBatterySize; template.horizontalTurnMax = this.horizontalTurnMax; template.navalBatterySize = this.navalBatterySize; template.reloadTime = this.reloadTime; template.threat = this.threat; template.type = this.type == "Carronade" ? ECannonType.Carronade : ECannonType.Cannon; template.verticalTurnMax = this.verticalTurnMax; template.verticalTurnMin = this.verticalTurnMin; template.weight = this.weight; template.GoldPrice = this.goldPrice; template.Ballistics.verticalSpread = this.Ballistics.verticalSpread; template.Ballistics.radius = this.Ballistics.radius; template.Ballistics.mass = this.Ballistics.mass; template.Ballistics.horizontalSpread = this.Ballistics.horizontalSpread; template.Ballistics.gravity = this.Ballistics.gravity; template.Ballistics.distance = this.Ballistics.distance; template.Ballistics.baseY = this.Ballistics.baseY; template.Ballistics.armorPiercing = this.Ballistics.armorPiercing; }