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); } }
private void CreateIntialUpgrades() { foreach (ValueType vu in upgradeStructs) { if (vu is WeaponUpgradeStruct) { WeaponUpgradeStruct ws = (WeaponUpgradeStruct)vu; upgrades.Add(new WeaponUpgrade( ws.cost, ws.levelUpgrade, ws.damageUpgrade, ws.inaccuracryUpgrade, ws.fireRateUpgrade, ws.rangeUpgrade)); } else if (vu is StorageUpgradeStruct) { StorageUpgradeStruct ss = (StorageUpgradeStruct)vu; upgrades.Add(new StorageUpgrade( ss.cost, ss.levelUpgrade, ss.capacityUpgrade)); } else if (vu is EnergyUpgradeStruct) { EnergyUpgradeStruct es = (EnergyUpgradeStruct)vu; upgrades.Add(new EnergyUpgrade( es.cost, es.levelUpgrade, es.energyCapacityUpgrade)); } else if (vu is TransUpgradeStruct) { TransUpgradeStruct ts = (TransUpgradeStruct)vu; upgrades.Add(new TransmitterUpgrade( ts.cost, ts.levelUpgrade, ts.uploadFactorUpgrade)); } else { ResearchUpgradeStruct rs = (ResearchUpgradeStruct)vu; upgrades.Add(new ResearchUpgrade( rs.cost, rs.levelUpgrade, rs.scanTimeUpgrade, rs.scanRangeUpgrade)); } } }