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); }
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(); }
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(); }
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); }
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(); }
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); } } }