/// <inheritdoc /> public bool TryDrop(IInventoryItem item) { if (!CanDrop(item) || !_provider.DropInventoryItem(item)) { onItemDroppedFailed?.Invoke(item); return(false); } Rebuild(true); onItemDropped?.Invoke(item); return(true); }