1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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 BaseCollisionTile extends BaseTile
- {
- private final float x1;
- private final float y1;
- private final float x2;
- private final float y2;
-
- public BaseCollisionTile(float tMinX, float tMinY, float tMaxX, float tMaxY, float x1, float y1, float x2, float y2)
- {
- super(tMinX, tMinY, tMaxX, tMaxY);
- this.x1 = x1;
- this.y1 = y1;
- this.x2 = x2;
- this.y2 = y2;
- }
-
- @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 + x1 && minTileX + x2 > minX &&
- maxY > minTileY + y1 && minTileY + y2 > 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 + x1, minTileY + y1, minTileX + x2, minTileY + y2,
- minX, minY, maxX, maxY);
- }
- }
|