//If the number of ammo given exceed the max ammo count, returns the amount of ammo left over. public int AddAmmo(int numberOfAmmo) { RangeWeaponData data = (RangeWeaponData)itemData; int ammoToAdd = Mathf.Clamp(numberOfAmmo, 0, data.maxAmmoCount - data.currentAmmoCount); data.currentAmmoCount += ammoToAdd; return(numberOfAmmo - ammoToAdd); }
private void SetWeapons(MeleeWeaponData meleeData, RangeWeaponData rangeData) { _meleeWeapon = Instantiate(meleeData.WeaponModel); _meleeWeapon.transform.SetParent(meleeWeaponSlot, false); _meleeWeapon.GetComponent <ActivateMelee>().SetWeapon(meleeData); _weaponTrail = _meleeWeapon.transform.GetChild(1).GetComponent <ParticleSystem>(); GetComponent <Animator>().SetFloat(_attackSpeed, meleeData.WeaponAttackSpeed); var rangeWeapon = Instantiate(rangeData.WeaponModel); rangeWeapon.transform.SetParent(rangeWeaponSlot, false); rangeWeaponSlot.GetComponent <ProjectileLauncher>().WeaponData = rangeData; rangeWeaponSlot.gameObject.SetActive(false); }
public int GetAmmoCount() { RangeWeaponData data = (RangeWeaponData)itemData; return(data.currentAmmoCount); }
public override void OnEquipped() { data = (RangeWeaponData)itemData; data.ownerEntity.gameObject.AddComponent <ScopeControl>(); }
void Start() { data = (RangeWeaponData)itemData; }