示例#1
0
        private static bool IsValidLine(Point position, int xOffset, int yOffset)
        {
            Tile tile = Main.tile[position.X, position.Y];
            Tile t1   = Main.tile[position.X - xOffset, position.Y - yOffset];
            Tile t2   = Main.tile[position.X + xOffset, position.Y + yOffset];

            return(!PortalHelper.BlockPortals(Main.tile[position.X + yOffset, position.Y - xOffset]) && !PortalHelper.BlockPortals(Main.tile[position.X + yOffset - xOffset, position.Y - xOffset - yOffset]) && (!PortalHelper.BlockPortals(Main.tile[position.X + yOffset + xOffset, position.Y - xOffset + yOffset]) && PortalHelper.CanPlacePortalOn(tile)) && (PortalHelper.CanPlacePortalOn(t1) && PortalHelper.CanPlacePortalOn(t2) && (t1.HasSameSlope(tile) && t2.HasSameSlope(tile))));
        }