package me.hammerle.supersnuvi.tiles; import me.hammerle.supersnuvi.gamelogic.Level; import me.hammerle.supersnuvi.util.Face; import me.hammerle.supersnuvi.util.Utils; public class BaseBoxTile extends BaseTile { public BaseBoxTile(float tMinX, float tMinY, float tMaxX, float tMaxY) { super(tMinX, tMinY, tMaxX, tMaxY); super.setDefaultCollisionBox(); } @Override public boolean isMoveColliding(float minX, float minY, float maxX, float maxY, int x, int y, Level l) { float minTileX = Utils.toCoord(x); float minTileY = Utils.toCoord(y); return maxX > minTileX && minTileX + Tile.SIZE > minX && maxY > minTileY && minTileY + Tile.SIZE > minY; } @Override public boolean isColliding(float minX, float minY, float maxX, float maxY, int x, int y, Level l) { float minTileX = Utils.toCoord(x); float minTileY = Utils.toCoord(y); return maxX > minTileX && minTileX + Tile.SIZE > minX && maxY > minTileY && minTileY + Tile.SIZE > minY; } @Override public Face getCollidingFace(float minX, float minY, float maxX, float maxY, int x, int y, Level l) { float minTileX = Utils.toCoord(x); float minTileY = Utils.toCoord(y); return Utils.getCollidingFace( minTileX, minTileY, minTileX + Tile.SIZE, minTileY + Tile.SIZE, minX, minY, maxX, maxY); } }