// Handle selection effect and grid updates private void ItemSwitched(ItemEquippable item) { DividedBarShaderController UIBar = null; foreach (DividedBarShaderController d in UIMappings.Values) { d.SetUnselected(); } UIMappings.TryGetValue(item.ItemDataBlock.inventorySlot, out UIBar); if (UIBar) { UIBar.SetSelected(); } if (ItemEquippableEvents.IsCurrentItemShootableWeapon()) { //Debug.Log("Item changed event: " + "MaxAmmo: " + item.GetMaxClip() + " Current ammo: " + item.GetCurrentClip() + " Inventory slot: " + item.ItemDataBlock.inventorySlot); BulletsInMag.maxAmmo = item.GetMaxClip(); BulletsInMag.currentAmmo = item.GetCurrentClip(); BulletsInMag.UpdateAmmoGridDivisions(); BulletsInMag.inventorySlot = item.ItemDataBlock.inventorySlot; } else { BulletsInMag.currentAmmo = 0; BulletsInMag.UpdateShaderVals(1, 1); } }
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(); } }