Beispiel #1
0
    public void UpdateUpgrades(UpgradeCalculator calculator)
    {
        bonusPower   = 0;
        bonusHit     = 0;
        bonusCrit    = 0;
        bonusCharges = 0;
        bonusCost    = 0;
        if (itemz == null)
        {
            return;
        }

        List <UpgradeItem> list = calculator.GetItemUpgradeList(itemz.uuid);

        for (int i = 0; i < list.Count; i++)
        {
            if (!list[i].researched)
            {
                continue;
            }
            bonusPower   += list[i].upgrade.power;
            bonusHit     += list[i].upgrade.hit;
            bonusCrit    += list[i].upgrade.crit;
            bonusCharges += list[i].upgrade.charges;
            bonusCost    += list[i].upgrade.costValue;
        }
        UpdateBonus();
    }
Beispiel #2
0
 /// <summary>
 /// Refreshes the bonus values for all the items in the inventory.
 /// </summary>
 /// <param name="calculator"></param>
 public void RefreshUpgrades(UpgradeCalculator calculator)
 {
     for (int i = 0; i < inventory.Count; i++)
     {
         inventory[i].UpdateUpgrades(calculator);
     }
 }
Beispiel #3
0
    public void ResetData()
    {
        stats     = new List <StatsContainer>();
        inventory = new List <InventoryContainer>();
        skills    = new List <SkillsContainer>();
        baseInfo  = new List <SupportContainer>();

        items = new List <InventoryItem>();

        upgrader = new UpgradeCalculator();

        missions = new List <MissionProgress>();

        graveyard = new List <string>();
    }
Beispiel #4
0
 public InventoryContainer(ScrObjLibraryVariable iLib, CharacterSaveData saveData, UpgradeCalculator calculator)
 {
     wpnSkills = new WeaponRank[WPN_SKILLS];
     for (int i = 0; i < saveData.wpnSkills.Length; i++)
     {
         wpnSkills[i] = (WeaponRank)saveData.wpnSkills[i];
     }
     for (int i = 0; i < INVENTORY_SIZE; i++)
     {
         if (i >= saveData.inventory.Count)
         {
             inventory.Add(new InventoryTuple(null, i));
         }
         else
         {
             ItemEntry item = (ItemEntry)iLib.GetEntry(saveData.inventory[i]);
             inventory.Add(new InventoryTuple(item, i)
             {
                 currentCharges = saveData.invCharges[i]
             });
             inventory[i].UpdateUpgrades(calculator);
         }
     }
 }