X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmobs%2FMob.java;h=f19d247c4d9df9a972eb4d423cedbd3ea8c35ac1;hb=462f97f8da742fe35f516fec00ca9a581d688e7a;hp=b7a975caf3b4217032573afdfc200760515f78f3;hpb=9f47e596782628c69b1333e371ce6ffc5cf3d5fa;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java b/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java index b7a975c..f19d247 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java +++ b/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java @@ -22,8 +22,31 @@ public abstract class Mob extends Rectangle implements Serializable { } public enum Direction { - LEFT, - RIGHT + + LEFT(0, -1), + RIGHT(1, 1); + + private final int index; + private final int basis; + + /** + * Index for this direction (left = 0, right = 1) + */ + public final int getIndex() { + return index; + } + + /** + * Basis for this direction (left = -1, right = 1) + */ + public final int getBasis() { + return basis; + } + + Direction(int index, int basis) { + this.index = index; + this.basis = basis; + } } protected Vector2 mVelocity; @@ -138,10 +161,6 @@ public abstract class Mob extends Rectangle implements Serializable { mDirection = looksLeft() ? Direction.RIGHT : Direction.LEFT; } - protected final int dirMultiplier() { - return looksLeft() ? 0 : 1; - } - public final boolean isDead() { return mDead; } @@ -166,6 +185,10 @@ public abstract class Mob extends Rectangle implements Serializable { return mVelocity; } + protected final void setVelocity(Vector2 velocity) { + mVelocity = velocity; + } + public final boolean canJump() { return mCanJump; } @@ -186,7 +209,7 @@ public abstract class Mob extends Rectangle implements Serializable { return mType; } - public void checkWorldBounds(GameWorld gameWorld) { + public final void checkWorldBounds(GameWorld gameWorld) { if (x + width / 2 < 0) { x += gameWorld.getWidthPx(); } @@ -200,4 +223,8 @@ public abstract class Mob extends Rectangle implements Serializable { public abstract void ai(GameWorld gameWorld, float delta); public abstract void changeDir(); + + public abstract float getSpeed(); + + public abstract void jump(); }