public static bool IntersectsWithTile(Engine.ICollisionable collisionAble1, Engine.Location location) { Engine.TileData data = location.getTile(); Tile tile = location.World.Level.TileSet[data.ID]; Rectangle rect = tile.CollisionArea, coll = collisionAble1.CollisionArea; rect.Offset(location.getTileX() * Tile.STANDARD_GTILE_WIDTH, location.getTileY() * Tile.STANDARD_GTILE_HEIGHT); return(IsIntersectPixels(coll, collisionAble1.Mask, rect, tile.Mask, false, data.Flipped)); }
public static bool IntersectsWithTile(Engine.ICollisionable collisionAble1, Engine.World world, int tileX, int tileY, out int maxY) { Engine.TileData data = world.Level.getTile(tileX, tileY); Tile tile = world.Level.TileSet[data.ID]; Rectangle rect = tile.CollisionArea, coll = collisionAble1.CollisionArea; rect.Offset(tileX * Tile.STANDARD_GTILE_WIDTH, tileY * Tile.STANDARD_GTILE_HEIGHT); return(IntersectPixels(coll, collisionAble1.Mask, rect, tile.Mask, false, data.Flipped, out maxY)); }
public static bool Intersects(Engine.ICollisionable collisionAble1, Engine.ICollisionable collisionAble2, bool coll1flipped = false, bool coll2flipped = false) { return(IsIntersectPixels(collisionAble1.CollisionArea, collisionAble1.Mask, collisionAble2.CollisionArea, collisionAble2.Mask, coll1flipped, coll2flipped)); }