public static MapObject collisionWithObjectAtRelative(IInteractable p_interactable, Point p_offset, String p_layer)
{
MapObject l_collidedObject = null;
foreach (MapObject m in ((MapObjectLayer) WorldManager.m_currentRoom.background.GetLayer(p_layer)).Objects) {
Rectangle l_copy = p_interactable.getBoundingRect(); //preserve this just in case
Rectangle l_spriteBounds;
l_spriteBounds.X = l_copy.X + p_offset.X;
l_spriteBounds.Y = l_copy.Y + p_offset.Y;
l_spriteBounds.Width = l_copy.Width;
l_spriteBounds.Height = l_copy.Height;
if (l_spriteBounds.Intersects(m.Bounds)) {
l_collidedObject = m;
break;
}
}
return l_collidedObject;
}