示例#1
0
    //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);
    }
示例#2
0
        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);
        }
示例#3
0
    public int GetAmmoCount()
    {
        RangeWeaponData data = (RangeWeaponData)itemData;

        return(data.currentAmmoCount);
    }
示例#4
0
 public override void OnEquipped()
 {
     data = (RangeWeaponData)itemData;
     data.ownerEntity.gameObject.AddComponent <ScopeControl>();
 }
示例#5
0
 void Start()
 {
     data = (RangeWeaponData)itemData;
 }