Remove inventory component references (#15249)

This commit is contained in:
DrSmugleaf
2023-04-11 17:20:47 -07:00
committed by GitHub
parent 54ceca8c7f
commit 98b4af8df0
15 changed files with 101 additions and 84 deletions

View File

@@ -28,7 +28,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
[UISystemDependency] private readonly ClientInventorySystem _inventorySystem = default!;
[UISystemDependency] private readonly HandsSystem _handsSystem = default!;
private ClientInventoryComponent? _playerInventory;
private InventorySlotsComponent? _playerInventory;
private readonly Dictionary<string, ItemSlotButtonContainer> _slotGroups = new();
private StrippingWindow? _strippingWindow;
@@ -105,7 +105,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
ToggleInventoryBar();
}
private void UpdateInventoryHotbar(ClientInventoryComponent? clientInv)
private void UpdateInventoryHotbar(InventorySlotsComponent? clientInv)
{
if (clientInv == null)
{
@@ -131,7 +131,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
}
}
private void UpdateStrippingWindow(ClientInventoryComponent? clientInv)
private void UpdateStrippingWindow(InventorySlotsComponent? clientInv)
{
if (clientInv == null)
{
@@ -197,7 +197,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
{
_inventorySystem.OnSlotAdded += AddSlot;
_inventorySystem.OnSlotRemoved += RemoveSlot;
_inventorySystem.OnLinkInventory += LoadSlots;
_inventorySystem.OnLinkInventorySlots += LoadSlots;
_inventorySystem.OnUnlinkInventory += UnloadSlots;
_inventorySystem.OnSpriteUpdate += SpriteUpdated;
}
@@ -207,7 +207,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
{
_inventorySystem.OnSlotAdded -= AddSlot;
_inventorySystem.OnSlotRemoved -= RemoveSlot;
_inventorySystem.OnLinkInventory -= LoadSlots;
_inventorySystem.OnLinkInventorySlots -= LoadSlots;
_inventorySystem.OnUnlinkInventory -= UnloadSlots;
_inventorySystem.OnSpriteUpdate -= SpriteUpdated;
}
@@ -265,7 +265,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
!_entities.TryGetComponent<HandsComponent>(player, out var hands) ||
hands.ActiveHandEntity is not { } held ||
!_entities.TryGetComponent(held, out SpriteComponent? sprite) ||
!_inventorySystem.TryGetSlotContainer(player.Value, control.SlotName, out var container, out var slotDef, _playerInventory))
!_inventorySystem.TryGetSlotContainer(player.Value, control.SlotName, out var container, out var slotDef))
{
control.ClearHover();
return;
@@ -274,7 +274,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
// Set green / red overlay at 50% transparency
var hoverEntity = _entities.SpawnEntity("hoverentity", MapCoordinates.Nullspace);
var hoverSprite = _entities.GetComponent<SpriteComponent>(hoverEntity);
var fits = _inventorySystem.CanEquip(player.Value, held, control.SlotName, out _, slotDef, _playerInventory) &&
var fits = _inventorySystem.CanEquip(player.Value, held, control.SlotName, out _, slotDef) &&
container.CanInsert(held, _entities);
hoverSprite.CopyFrom(sprite);
@@ -305,7 +305,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
_inventorySystem.ReloadInventory();
}
private void LoadSlots(ClientInventoryComponent clientInv)
private void LoadSlots(InventorySlotsComponent clientInv)
{
UnloadSlots();
_playerInventory = clientInv;