private GunShopItemUpgradeRow[] SetUpGunShopItemUpgradeRows(GunShopItem item) { WeaponStats weaponStats = weaponCollection.GetWeaponStats(item.GetWeaponType()); WeaponStatsUpgradeLevel weaponStatsUpgradeLevel = new WeaponStatsUpgradeLevel(item.GetWeaponType(), weaponStats, weaponStatsProgression); GunShopItemUpgradeRow damageRow = new GunShopItemUpgradeRow(WeaponStatsUpgradeTypeEnum.Damage); damageRow.price = weaponStatsProgression.GetPrice(item.GetWeaponType(), weaponStats, WeaponStatsUpgradeTypeEnum.Damage).ToString(); damageRow.upgradeLevel = weaponStatsUpgradeLevel.GetUpgradeLevel(damageRow.upgradeType); GunShopItemUpgradeRow fireRateRow = new GunShopItemUpgradeRow(WeaponStatsUpgradeTypeEnum.FireRate); fireRateRow.price = weaponStatsProgression.GetPrice(item.GetWeaponType(), weaponStats, fireRateRow.upgradeType).ToString(); fireRateRow.upgradeLevel = weaponStatsUpgradeLevel.GetUpgradeLevel(fireRateRow.upgradeType); GunShopItemUpgradeRow reloadSpeedRow = new GunShopItemUpgradeRow(WeaponStatsUpgradeTypeEnum.ReloadSpeed); reloadSpeedRow.price = weaponStatsProgression.GetPrice(item.GetWeaponType(), weaponStats, reloadSpeedRow.upgradeType).ToString(); reloadSpeedRow.upgradeLevel = weaponStatsUpgradeLevel.GetUpgradeLevel(reloadSpeedRow.upgradeType); return(new GunShopItemUpgradeRow[] { damageRow, fireRateRow, reloadSpeedRow }); }
private WeaponStats UpgradeSelectedItemWeaponStats(WeaponStatsUpgradeTypeEnum upgradeType) { WeaponStats stats = weaponCollection.GetWeaponStats(selectedItem.GetWeaponType()); WeaponStatsUpgradeLevel weaponStatsUpgradeLevel = new WeaponStatsUpgradeLevel(selectedItem.GetWeaponType(), stats, weaponStatsProgression); string upgradeValu = weaponStatsUpgradeLevel.GetUpgradeValue(upgradeType, weaponStatsUpgradeLevel.GetUpgradeLevel(upgradeType) + 1); switch (upgradeType) { case WeaponStatsUpgradeTypeEnum.Damage: stats.damage = int.Parse(upgradeValu); break; case WeaponStatsUpgradeTypeEnum.FireRate: stats.fireRate = float.Parse(upgradeValu); break; case WeaponStatsUpgradeTypeEnum.ReloadSpeed: stats.reloadSpeed = float.Parse(upgradeValu); break; } return(stats); }