X-Git-Url: https://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2Fmobs%2FMob.java;h=f776ff5111ca0800b25c7ff127c969d182023cab;hp=137e7cad913516e1cced168e7a9328986b0065e9;hb=99a56427db13dd0ecd025e433a438b77245cb739;hpb=84b8cd80e39699174969bfed0734e78b8ec09615 diff --git a/core/src/ru/deadsoftware/cavecraft/game/mobs/Mob.java b/core/src/ru/deadsoftware/cavecraft/game/mobs/Mob.java index 137e7ca..f776ff5 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/mobs/Mob.java +++ b/core/src/ru/deadsoftware/cavecraft/game/mobs/Mob.java @@ -8,12 +8,68 @@ import java.io.Serializable; public abstract class Mob implements Serializable { - public int ANIM_SPEED = 6; - public Vector2 position; - public Vector2 move; - public int width, height, dir, animation; + public boolean flyMode; + private float width, height; + private int dir; + + public Vector2 pos; + public Vector2 mov; + + private boolean dead; + public boolean canJump; - public boolean dead; + protected int anim, animDelta = 6; + + protected Mob(float x, float y, float width, float height, int dir, boolean player) { + pos = new Vector2(x, y); + mov = new Vector2(0, 0); + this.width = width; + this.height = height; + canJump = false; + flyMode = false; + dead = false; + this.dir = dir; + } + + protected Mob(float x, float y, float width, float height, int dir) { + this(x, y, width, height, dir, false); + } + + public int getMapX() { + return (int) (pos.x + (getWidth() / 2)) / 16; + } + + public int getMapY() { + return (int) (pos.y + (getHeight() / 2)) / 16; + } + + public float getWidth() { + return width; + } + + public float getHeight() { + return height; + } + + public int getDir() { + return dir; + } + + protected void switchDir() { + dir = -dir + 1; + } + + public boolean isDead() { + return dead; + } + + public void kill() { + dead = true; + } + + public Rectangle getRect() { + return new Rectangle(pos.x, pos.y, getWidth(), getHeight()); + } public abstract void ai(); @@ -21,7 +77,5 @@ public abstract class Mob implements Serializable { public abstract void draw(SpriteBatch spriteBatch, float x, float y); - public abstract Rectangle getRect(); - public abstract int getType(); //0 - mob, 10 - sand, 11 - gravel }