예제 #1
0
파일: Main.cs 프로젝트: neil501/UAASMods
        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;
        }
예제 #2
0
파일: Main.cs 프로젝트: neil501/UAASMods
 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;
             }
         }
     }
 }
예제 #3
0
            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)
                            {
                            }
                        }
                    }
                }
            }
예제 #4
0
            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;
                        }
                    }
                }
            }
예제 #5
0
파일: Main.cs 프로젝트: neil501/UAASMods
 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;
 }