private void InitializeStats() { foreach (Equipment eq in PlayerManager.instance.equipment) { if (eq is WeaponEquipment) { WeaponEquipment w = eq as WeaponEquipment; WeaponUpgradeStruct wu = new WeaponUpgradeStruct(800, 1, w.damage, w.inaccuracy, w.fireRate, w.range); wu.Upgrade(); upgradeStructs.Add(wu); structVals.Add(0); } else if (eq is StorageEquipment) { StorageEquipment s = eq as StorageEquipment; StorageUpgradeStruct su = new StorageUpgradeStruct(700, 1, s.capacity); su.Upgrade(); upgradeStructs.Add(su); structVals.Add(1); } else if (eq is EnergyEquipment) { EnergyEquipment e = eq as EnergyEquipment; EnergyUpgradeStruct ee = new EnergyUpgradeStruct(850, 1, e.energyCapacity); ee.Upgrade(); upgradeStructs.Add(ee); structVals.Add(2); } else if (eq is TransmitterEquipment) { TransmitterEquipment t = eq as TransmitterEquipment; TransUpgradeStruct tu = new TransUpgradeStruct(700, 1, t.uploadFactor); tu.Upgrade(); upgradeStructs.Add(tu); structVals.Add(3); } else { ResearchEquipment r = eq as ResearchEquipment; ResearchUpgradeStruct ru = new ResearchUpgradeStruct(750, 1, r.scanTime, r.range); ru.Upgrade(); upgradeStructs.Add(ru); structVals.Add(4); } } }
public void UpdateUpgrades(int index) { int structType = structVals[index]; if (structType == 0) { WeaponUpgradeStruct wu = (WeaponUpgradeStruct)upgradeStructs[index]; wu.Upgrade(); upgradeStructs[index] = wu; upgrades[index] = new WeaponUpgrade( wu.cost, wu.levelUpgrade, wu.damageUpgrade, wu.inaccuracryUpgrade, wu.fireRateUpgrade, wu.rangeUpgrade); } else if (structType == 1) { StorageUpgradeStruct su = (StorageUpgradeStruct)upgradeStructs[index]; su.Upgrade(); upgradeStructs[index] = su; upgrades[index] = new StorageUpgrade( su.cost, su.levelUpgrade, su.capacityUpgrade); } else if (structType == 2) { EnergyUpgradeStruct eu = (EnergyUpgradeStruct)upgradeStructs[index]; eu.Upgrade(); upgradeStructs[index] = eu; upgrades[index] = new EnergyUpgrade( eu.cost, eu.levelUpgrade, eu.energyCapacityUpgrade); } else if (structType == 3) { TransUpgradeStruct tu = (TransUpgradeStruct)upgradeStructs[index]; tu.Upgrade(); upgradeStructs[index] = tu; upgrades[index] = new TransmitterUpgrade( tu.cost, tu.levelUpgrade, tu.uploadFactorUpgrade); } else { ResearchUpgradeStruct ru = (ResearchUpgradeStruct)upgradeStructs[index]; ru.Upgrade(); upgradeStructs[index] = ru; upgrades[index] = new ResearchUpgrade( ru.cost, ru.levelUpgrade, ru.scanTimeUpgrade, ru.scanRangeUpgrade); } }