public UnitData GetUnitDataWithUpgradeByID(string unitID) { UnitData unitData = GetUnitDataByID(unitID); UnitData unitDataWithUpgrade = new UnitData(); // withUpgrade = unitData; if (unitData == null) { return(null); } UnitUpgradeData unitUpgradeData = GetUnitUpgradeDataByID(unitID); unitDataWithUpgrade.UnitID = unitData.UnitID; unitDataWithUpgrade.UnitName = unitData.UnitName; unitDataWithUpgrade.Health = Master.IncreaseValues(unitData.Health, unitUpgradeData.Health, increaseValuePercentPerUpgrade[UnitUpgradeType.Health]); unitDataWithUpgrade.Damage = Master.IncreaseValues(unitData.Damage, unitUpgradeData.Damage, increaseValuePercentPerUpgrade[UnitUpgradeType.Damage]); unitDataWithUpgrade.AttackSpeed = unitData.AttackSpeed + unitUpgradeData.AttackSpeed * CalculateAttackSpeedPerUpgrade(unitData.AttackSpeed); //unitDataWithUpgrade.AttackSpeed = Master.IncreaseValues(unitData.AttackSpeed, unitUpgradeData.AttackSpeed, increaseValuePercentPerUpgrade[UnitUpgradeType.AttackSpeed]); unitDataWithUpgrade.Range = Master.IncreaseValues(unitData.Range, unitUpgradeData.Range, increaseValuePercentPerUpgrade[UnitUpgradeType.Range]); unitDataWithUpgrade.Critical = Master.IncreaseValues(unitData.Critical, unitUpgradeData.Critical, increaseValuePercentPerUpgrade[UnitUpgradeType.Critical]); unitDataWithUpgrade.NumberOfAmmoToReload = unitData.NumberOfAmmoToReload; unitDataWithUpgrade.NumberOfShootToUpgrade = unitData.NumberOfShootToUpgrade; unitDataWithUpgrade.Price = unitData.Price; unitDataWithUpgrade.TimeCountdownSelect = unitData.TimeCountdownSelect; unitDataWithUpgrade.UnlockAtLevel = unitData.UnlockAtLevel; return(unitDataWithUpgrade); }
public int GetCurrentUpgradedStats(string unitID, string upgradeType) { int currentUpgardeValue = 0; UnitUpgradeData currentUnitUpgradedData = GetUnitUpgradeDataByID(unitID); if (upgradeType == UnitUpgradeType.Health) { currentUpgardeValue = currentUnitUpgradedData.Health; } if (upgradeType == UnitUpgradeType.Damage) { currentUpgardeValue = currentUnitUpgradedData.Damage; } if (upgradeType == UnitUpgradeType.AttackSpeed) { currentUpgardeValue = currentUnitUpgradedData.AttackSpeed; } if (upgradeType == UnitUpgradeType.Range) { currentUpgardeValue = currentUnitUpgradedData.Range; } if (upgradeType == UnitUpgradeType.Critical) { currentUpgardeValue = currentUnitUpgradedData.Critical; } return(currentUpgardeValue); }
public void LoadUnitUpgradeData() { listUnitUpgradeData.Clear(); for (int i = 0; i < unitDataCollection.ListUnitsData.Count; i++) { string unitID = unitDataCollection.ListUnitsData[i].UnitID; UnitUpgradeData unitUpgradeData = new UnitUpgradeData(); string firstParam = "Unit_" + unitID + "_Upgrade_"; unitUpgradeData.UnitID = unitID; unitUpgradeData.Health = PlayerPrefs.GetInt(firstParam + UnitUpgradeType.Health, 0); unitUpgradeData.Damage = PlayerPrefs.GetInt(firstParam + UnitUpgradeType.Damage, 0); unitUpgradeData.AttackSpeed = PlayerPrefs.GetInt(firstParam + UnitUpgradeType.AttackSpeed, 0); unitUpgradeData.Range = PlayerPrefs.GetInt(firstParam + UnitUpgradeType.Range, 0); unitUpgradeData.Critical = PlayerPrefs.GetInt(firstParam + UnitUpgradeType.Critical, 0); listUnitUpgradeData.Add(unitUpgradeData); } }