package stray.blocks; import stray.Main; import stray.blocks.Block.BlockFaces; import stray.util.MathHelper; import stray.util.Utils; import stray.world.World; import com.badlogic.gdx.graphics.Texture; public class BlockDirectional extends Block{ public BlockDirectional(String path, boolean first) { super(path); findFirstMatch = first; } boolean findFirstMatch = false; @Override public void renderWithOffset(World world, int x, int y, float offx, float offy) { if ((world.getMeta(x, y) & BlockFaces.UP) == BlockFaces.UP || world.getMeta(x, y) <= BlockFaces.NONE) { Utils.drawRotated( world.batch, world.main.manager.get(sprites.get("defaulttex"), Texture.class), x * world.tilesizex - world.camera.camerax + offx, Main.convertY((y * world.tilesizey - world.camera.cameray) + World.tilesizey + offy), World.tilesizex, World.tilesizey, 0, true); if(findFirstMatch) return; } if ((world.getMeta(x, y) & BlockFaces.DOWN) == BlockFaces.DOWN) { Utils.drawRotated( world.batch, world.main.manager.get(sprites.get("defaulttex"), Texture.class), x * world.tilesizex - world.camera.camerax + offx, Main.convertY((y * world.tilesizey - world.camera.cameray) + World.tilesizey + offy), World.tilesizex, World.tilesizey, 180, true); if(findFirstMatch) return; } if ((world.getMeta(x, y) & BlockFaces.LEFT) == BlockFaces.LEFT) { Utils.drawRotated( world.batch, world.main.manager.get(sprites.get("defaulttex"), Texture.class), x * world.tilesizex - world.camera.camerax + offx, Main.convertY((y * world.tilesizey - world.camera.cameray) + World.tilesizey + offy), World.tilesizex, World.tilesizey, 270, true); if(findFirstMatch) return; } if ((world.getMeta(x, y) & BlockFaces.RIGHT) == BlockFaces.RIGHT) { Utils.drawRotated( world.batch, world.main.manager.get(sprites.get("defaulttex"), Texture.class), x * world.tilesizex - world.camera.camerax + offx, Main.convertY((y * world.tilesizey - world.camera.cameray) + World.tilesizey + offy), World.tilesizex, World.tilesizey, 90, true); if(findFirstMatch) return; } } }