public bool TryAdd(Item item, int x, int y)
{
if (x + item.Data.Width > _width || y + item.Data.Height > _height)
return false;
var collidingItems = this.GetCollidingItems((uint)x, (uint)y, item);
if (collidingItems.Count > 0)
return false;
item.Move(this.Pocket, x, y);
this.AddUnsafe(item);
return true;
}
}