// ------ public void SetUpgradeType(E_WeaponUpgradeID upgrade) { string name = ""; switch (upgrade) { case E_WeaponUpgradeID.Dispersion: name = "Accuracy"; break; case E_WeaponUpgradeID.AimingFov: name = "AimingFov"; break; case E_WeaponUpgradeID.BulletSpeed: name = "BulletSpeed"; break; case E_WeaponUpgradeID.ClipSize: name = "ClipSize"; break; case E_WeaponUpgradeID.Damage: name = "Damage"; break; case E_WeaponUpgradeID.AmmoSize: name = "Homing"; break; case E_WeaponUpgradeID.Silencer: name = "Silencer"; break; case E_WeaponUpgradeID.FireTime: name = "FireRate"; break; default: Debug.LogWarning("Error: E_WeaponUpgradeID " + upgrade + " is not handled by the switch!"); break; } SetColors(); Images.State = name; }
// ------ float GetModificator(E_WeaponUpgradeID upgradeID, bool checkOwnership) { float modif = 1.0f; if (weaponID == E_WeaponID.None) { return(0); } int upgradeNum = GetNumOfUpgrades(); for (int i = 0; i < upgradeNum; i++) { WeaponSettings.Upgrade upgrade = GetUpgrade(i); if ((upgrade.ID == upgradeID) && (!checkOwnership || OwnsUpgrade(i))) { modif += upgrade.Modifier; } } return(modif); }
// ----- public bool OwnsWeaponUpgrade(E_WeaponID weaponID, E_WeaponUpgradeID upgradeID) { foreach (PPIWeaponData weapon in Weapons) { if (weapon.ID == weaponID) { List <WeaponUpgrade> upgrades = weapon.Upgrades; if (upgrades != null) { for (int j = 0; j < upgrades.Count; j++) { if (upgradeID == upgrades[j].ID) { return(true); } } } return(false); } } return(false); }