diff --git a/src/sig/engine/Rectangle.java b/src/sig/engine/Rectangle.java index f4615c3..f14d3c2 100644 --- a/src/sig/engine/Rectangle.java +++ b/src/sig/engine/Rectangle.java @@ -14,6 +14,10 @@ public class Rectangle { return x; } + public int getX2() { + return x+w; + } + public void setX(int x) { this.x = x; } @@ -22,6 +26,10 @@ public class Rectangle { return y; } + public int getY2() { + return y+h; + } + public void setY(int y) { this.y = y; } diff --git a/src/sig/engine/objects/CollisionEntity.java b/src/sig/engine/objects/CollisionEntity.java new file mode 100644 index 0000000..d64f4bf --- /dev/null +++ b/src/sig/engine/objects/CollisionEntity.java @@ -0,0 +1,8 @@ +package sig.engine.objects; + +import sig.engine.Rectangle; + +public interface CollisionEntity { + Rectangle getCollisionBounds(); + void setCollisionBounds(Rectangle bounds); +} diff --git a/src/sig/engine/GameEntity.java b/src/sig/engine/objects/GameEntity.java similarity index 79% rename from src/sig/engine/GameEntity.java rename to src/sig/engine/objects/GameEntity.java index c8581fa..c57d91e 100644 --- a/src/sig/engine/GameEntity.java +++ b/src/sig/engine/objects/GameEntity.java @@ -1,4 +1,4 @@ -package sig.engine; +package sig.engine.objects; public interface GameEntity { public void update(double updateMult); diff --git a/src/sig/engine/objects/Object.java b/src/sig/engine/objects/Object.java index 027e3fb..8d4879f 100644 --- a/src/sig/engine/objects/Object.java +++ b/src/sig/engine/objects/Object.java @@ -6,11 +6,11 @@ import sig.engine.Action; import sig.engine.Alpha; import sig.engine.AnimatedSprite; import sig.engine.Font; -import sig.engine.GameEntity; import sig.engine.KeyBind; import sig.engine.MouseScrollValue; import sig.engine.PaletteColor; import sig.engine.Panel; +import sig.engine.Rectangle; import sig.engine.Sprite; import sig.engine.String; import sig.engine.Transform; @@ -19,6 +19,16 @@ public abstract class Object implements GameEntity{ double x,y; Sprite spr; Panel panel; + Rectangle collisionBox; + + public Rectangle getCollisionBox() { + return collisionBox; + } + + public void setCollisionBox(Rectangle collisionBox) { + this.collisionBox = collisionBox; + } + public Panel getPanel() { return panel; } diff --git a/src/sig/objects/LevelRenderer.java b/src/sig/objects/LevelRenderer.java index 0223022..af07e67 100644 --- a/src/sig/objects/LevelRenderer.java +++ b/src/sig/objects/LevelRenderer.java @@ -31,6 +31,19 @@ public class LevelRenderer extends Object{ } private void CreateCollisionGrid() { + for (int i=0;i=0&&xpos=0&&yposMap.MAP_HEIGHT) { continue; @@ -79,10 +92,9 @@ public class LevelRenderer extends Object{ Draw_Text(4,4,new String(RabiClone.player.x_velocity),Font.PROFONT_12); Draw_Text(4,4+Font.PROFONT_12.getGlyphHeight(),new String(RabiClone.player.slide_time3),Font.PROFONT_12); } - //RenderCollisionGrid(p); + RenderCollisionGrid(p); } - @SuppressWarnings("unused") private void RenderCollisionGrid(byte[] p) { for (int y=0;y