SunsetHigh.CollisionManager.collisionWithObjectAtRelative C# (CSharp) Method

collisionWithObjectAtRelative() public static method

public static collisionWithObjectAtRelative ( IInteractable p_interactable, Point p_offset, String p_layer ) : MapObject
p_interactable IInteractable
p_offset Point
p_layer String
return TiledPipelineExtensions.MapObject
        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;
        }

Same methods

CollisionManager::collisionWithObjectAtRelative ( Sprite p_sprite, Point p_offset ) : MapObject