Fixed subinventory becoming active in the controlled character's inventory when the slot with the same index is highlighted in a grabbed character's inventory (or vice versa), fixed CPR & grab buttons being drawn on top of subinventories

This commit is contained in:
Joonas Rikkonen
2018-01-25 09:36:58 +02:00
parent 30e624e572
commit 43d48ceb13
3 changed files with 26 additions and 18 deletions
@@ -169,7 +169,11 @@ namespace Barotrauma
if (highlightedSubInventorySlot != null)
{
UpdateSubInventory(deltaTime, highlightedSubInventorySlot.SlotIndex);
if (highlightedSubInventorySlot.Inventory == this)
{
UpdateSubInventory(deltaTime, highlightedSubInventorySlot.SlotIndex);
}
if (highlightedSubInventory.slots == null ||
(!highlightedSubInventorySlot.Slot.InteractRect.Contains(PlayerInput.MousePosition) && !highlightedSubInventory.slots.Any(s => s.InteractRect.Contains(PlayerInput.MousePosition))))
{
@@ -186,6 +190,7 @@ namespace Barotrauma
{
highlightedSubInventory = subInventory;
highlightedSubInventorySlot = selectedSlot;
UpdateSubInventory(deltaTime, highlightedSubInventorySlot.SlotIndex);
}
}
}
@@ -68,7 +68,7 @@ namespace Barotrauma
partial class Inventory
{
protected class SlotReference
public class SlotReference
{
public readonly Inventory Inventory;
public readonly InventorySlot Slot;
@@ -133,6 +133,10 @@ namespace Barotrauma
}
}
public static SlotReference SelectedSlot
{
get { return selectedSlot; }
}
protected virtual void CreateSlots()
{