Beispiel #1
0
    void Start()
    {
        shooterManager = GetComponent <vShooterManager>();
        if (shooterManager)
        {
            shooterManager.onReloadWeapon.AddListener(ReloadWeapon);
            shooterManager.totalAmmoHandler = new vShooterManager.TotalAmmoHandler(TotalAmmo);
        }

        itemManager = GetComponent <vItemManager>();
        if (itemManager)
        {
            itemManager.onUseItem.AddListener(UseAmmo);
            itemManager.onAddItem.AddListener(AddAmmo);
            itemManager.onDropItem.AddListener(DropAmmo);
            itemManager.onLeaveItem.AddListener(LeaveAmmo);
            ammoItems = itemManager.items.FindAll(item => item.type == vItemType.Ammo);
        }

        if (ammoListData)
        {
            ammos.Clear();
            for (int i = 0; i < ammoListData.ammos.Count; i++)
            {
                var ammo = new vAmmo(ammoListData.ammos[i]);
                ammos.Add(ammo);
            }
        }
    }
        public vAmmo WeaponAmmo(vShooterWeapon weapon)
        {
            if (!weapon)
            {
                return(null);
            }
            var ammo = new vAmmo();

            if (ammoManager && ammoManager.ammos != null && ammoManager.ammos.Count > 0)
            {
                ammo = ammoManager.GetAmmo(weapon.ammoID);
            }
            return(ammo);
        }
Beispiel #3
0
 protected void ChangeItemAmount(vItem item)
 {
     if (item.type == vItemType.Ammo)
     {
         var ammo = ammos.Find(a => a.ammoID == item.id);
         if (ammo == null)
         {
             ammo = new vAmmo(item.name, item.id, item.amount);
             ammos.Add(ammo);
             ammo.onDestroyAmmoItem = new vAmmo.OnDestroyItem(OnDestroyAmmoItem);
         }
     }
     UpdateTotalAmmo();
 }
Beispiel #4
0
 public void AddAmmo(vItem item)
 {
     if (item.type == vItemType.Ammo)
     {
         var ammo = ammos.Find(a => a.ammoID == item.id);
         if (ammo == null)
         {
             ammo = new vAmmo(item.name, item.id, item.amount);
             ammos.Add(ammo);
             ammo.onDestroyAmmoItem = new vAmmo.OnDestroyItem(OnDestroyAmmoItem);
         }
         ammo.ammoItems.Add(item);
     }
     UpdateTotalAmmo();
 }
Beispiel #5
0
    public vAmmo WeaponAmmo()
    {
        if (rWeapon == null)
        {
            return(null);
        }

        var ammo = new vAmmo();

        if (ammoManager && ammoManager.ammos != null && ammoManager.ammos.Count > 0)
        {
            ammo = ammoManager.ammos.Find(a => a.ammoID == rWeapon.ammoID);
        }

        return(ammo);
    }
Beispiel #6
0
    public void AddAmmo(int id, int amount)
    {
        var ammo = ammos.Find(a => a.ammoID == id);

        if (ammo == null)
        {
            ammo = new vAmmo("", id, amount);
            ammos.Add(ammo);
            ammo.onDestroyAmmoItem = new vAmmo.OnDestroyItem(OnDestroyAmmoItem);
        }
        else if (ammo != null)
        {
            ammo.AddAmmo(amount);
        }
        UpdateTotalAmmo();
    }
Beispiel #7
0
    void Start()
    {
        itemManager = GetComponent <vItemManager>();
        if (itemManager)
        {
            itemManager.onAddItem.AddListener(AddAmmo);
            itemManager.onDropItem.AddListener(DropAmmo);
            itemManager.onLeaveItem.AddListener(LeaveAmmo);
            itemManager.onChangeItemAmount.AddListener(ChangeItemAmount);
        }

        if (ammoListData)
        {
            ammos.Clear();
            for (int i = 0; i < ammoListData.ammos.Count; i++)
            {
                var ammo = new vAmmo(ammoListData.ammos[i]);
                ammo.onDestroyAmmoItem = new vAmmo.OnDestroyItem(OnDestroyAmmoItem);
                ammos.Add(ammo);
            }
        }
    }