Revert "Remove IContainer and move functions to the container system.… (#19975)

This commit is contained in:
metalgearsloth
2023-09-10 21:46:36 +10:00
committed by GitHub
parent 24810d916b
commit 4d1c3ae66a
19 changed files with 48 additions and 54 deletions

View File

@@ -72,7 +72,7 @@ namespace Content.Client.Actions
_actionHoldersQueue.Enqueue(uid);
}
protected override void AddActionInternal(EntityUid holderId, EntityUid actionId, BaseContainer container, ActionsComponent holder)
protected override void AddActionInternal(EntityUid holderId, EntityUid actionId, IContainer container, ActionsComponent holder)
{
// Sometimes the client receives actions from the server, before predicting that newly added components will add
// their own shared actions. Just in case those systems ever decided to directly access action properties (e.g.,
@@ -87,7 +87,7 @@ namespace Content.Client.Actions
}
}
public override void AddAction(EntityUid holderId, EntityUid actionId, EntityUid? provider, ActionsComponent? holder = null, BaseActionComponent? action = null, bool dirty = true, BaseContainer? actionContainer = null)
public override void AddAction(EntityUid holderId, EntityUid actionId, EntityUid? provider, ActionsComponent? holder = null, BaseActionComponent? action = null, bool dirty = true, IContainer? actionContainer = null)
{
if (!Resolve(holderId, ref holder, false))
return;

View File

@@ -27,7 +27,6 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
[UISystemDependency] private readonly ClientInventorySystem _inventorySystem = default!;
[UISystemDependency] private readonly HandsSystem _handsSystem = default!;
[UISystemDependency] private readonly ContainerSystem _container = default!;
private EntityUid? _playerUid;
private InventorySlotsComponent? _playerInventory;
@@ -282,7 +281,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
var hoverEntity = _entities.SpawnEntity("hoverentity", MapCoordinates.Nullspace);
var hoverSprite = _entities.GetComponent<SpriteComponent>(hoverEntity);
var fits = _inventorySystem.CanEquip(player.Value, held, control.SlotName, out _, slotDef) &&
_container.CanInsert(held, container);
container.CanInsert(held, _entities);
hoverSprite.CopyFrom(sprite);
hoverSprite.Color = fits ? new Color(0, 255, 0, 127) : new Color(255, 0, 0, 127);