示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
 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));
 }