// Listen for values in respective classes ( PUI_Inventory ) private void UiUpdate(InventorySlotAmmo item, int clipLeft) { DividedBarShaderController bar = null; UIMappings.TryGetValue(item.Slot, out bar); if (ItemEquippableEvents.currentItem != null && ItemEquippableEvents.currentItem.ItemDataBlock.inventorySlot.Equals(item.Slot) && ItemEquippableEvents.IsCurrentItemShootableWeapon()) { //Debug.Log("Ammo update event (main or sub weapon): " + "MaxAmmo: " + item.BulletClipSize + " Current ammo: " + clipLeft + " Inventory slot: " + item.Slot); BulletsInMag.maxAmmo = item.BulletClipSize; BulletsInMag.UpdateCurrentAmmo(clipLeft); BulletsInMag.UpdateAmmoGridDivisions(); BulletsInMag.inventorySlot = item.Slot; } if (bar) { //Debug.Log("Ammo update event: " + "MaxAmmo: " + item.BulletClipSize + " Current ammo: " + clipLeft + " maxCap: " + item.BulletsMaxCap + " RelInPack " + item.RelInPack + " Inventory slot: " + item.Slot); bar.maxAmmo = item.BulletsMaxCap; bar.currentAmmo = (int)(bar.maxAmmo * item.RelInPack); bar.SetFill(item.RelInPack); if (item.Slot.Equals(InventorySlot.Consumable) || item.Slot.Equals(InventorySlot.ResourcePack) || item.Slot.Equals(InventorySlot.ConsumableHeavy)) { bar.UpdatePackOrConsumableDivisions(); } } }
private void UpdateBulletDisplayAmount(InventorySlotAmmo item, int clipLeft) { if (ItemEquippableEvents.IsCurrentItemShootableWeapon() && ItemEquippableEvents.currentItem.ItemDataBlock.inventorySlot.Equals(item.Slot)) { m_numberBulletsInMagDisplay.text = clipLeft + "\n----\n" + ((int)(item.BulletsMaxCap * item.RelInPack)).ToString(); m_numberBulletsInMagDisplay.ForceMeshUpdate(false); m_bulletsInMagDisplay.MaxValue = Mathf.Max(item.BulletClipSize, 1); m_bulletsInMagDisplay.UpdateCurrentAmmo(clipLeft); m_bulletsInMagDisplay.UpdateAmmoGridDivisions(); } }