X-Git-Url: http://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fobjects%2FDrop.java;h=3b5c76031d5a41b8a78861f48b2648441431cbcb;hp=e523c4e9d6b79d245b20f12896373086c85d2459;hb=f4d52e3e4a3712050532786fca0aded5ff8b5a03;hpb=aa867d19dc70babe1e3c091c60f903b06eb65fcf diff --git a/core/src/ru/deadsoftware/cavedroid/game/objects/Drop.java b/core/src/ru/deadsoftware/cavedroid/game/objects/Drop.java index e523c4e..3b5c760 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/objects/Drop.java +++ b/core/src/ru/deadsoftware/cavedroid/game/objects/Drop.java @@ -4,19 +4,18 @@ import com.badlogic.gdx.math.Intersector; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; +import ru.deadsoftware.cavedroid.game.GameWorld; import ru.deadsoftware.cavedroid.game.mobs.Player; import java.io.Serializable; -import static ru.deadsoftware.cavedroid.GameScreen.GP; - public class Drop extends Rectangle implements Serializable { private final int id; private final Vector2 move; private boolean pickedUp = false; - public Drop(float x, float y, int id) { + Drop(float x, float y, int id) { super(x, y, 8, 8); this.id = id; this.move = new Vector2(0, -1); @@ -26,15 +25,15 @@ public class Drop extends Rectangle implements Serializable { return move; } - public int closeToPlayer() { + public int closeToPlayer(GameWorld gameWorld, Player player) { boolean[] c = new boolean[3]; - c[0] = Intersector.overlaps(new Rectangle(GP.player.getX() - 16, - GP.player.getY() - 16, GP.player.getWidth() + 32, GP.player.getHeight() + 32), this); - c[1] = Intersector.overlaps(new Rectangle((GP.player.getX() + GP.world.getWidthPx()) - 16, - GP.player.getY() - 16, GP.player.getWidth() + 32, GP.player.getHeight() + 32), this); - c[2] = Intersector.overlaps(new Rectangle((GP.player.getX() - GP.world.getWidthPx()) - 16, - GP.player.getY() - 16, GP.player.getWidth() + 32, GP.player.getHeight() + 32), this); + c[0] = Intersector.overlaps(new Rectangle(player.getX() - 16, + player.getY() - 16, player.getWidth() + 32, player.getHeight() + 32), this); + c[1] = Intersector.overlaps(new Rectangle((player.getX() + gameWorld.getWidthPx()) - 16, + player.getY() - 16, player.getWidth() + 32, player.getHeight() + 32), this); + c[2] = Intersector.overlaps(new Rectangle((player.getX() - gameWorld.getWidthPx()) - 16, + player.getY() - 16, player.getWidth() + 32, player.getHeight() + 32), this); for (int i = 0; i < 3; i++) { if (c[i]) { @@ -45,30 +44,29 @@ public class Drop extends Rectangle implements Serializable { return 0; } - public void moveToPlayer() { - int ctp = closeToPlayer(); + public void moveToPlayer(GameWorld gameWorld, Player player, int ctp) { if (ctp > 0) { - float px = GP.player.getX(); - float py = GP.player.getY(); + float px = player.getX(); + float py = player.getY(); switch (ctp) { case 2: - px += GP.world.getWidthPx(); + px += gameWorld.getWidthPx(); break; case 3: - px -= GP.world.getWidthPx(); + px -= gameWorld.getWidthPx(); break; } float dx = 0, dy = 0; - if (px + GP.player.getWidth() < x + 4) { + if (px + player.getWidth() < x + 4) { dx = -.5f; } else if (px > x + 4) { dx = .5f; } - if (py + GP.player.getHeight() < y + 4) { + if (py + player.getHeight() < y + 4) { dy = -.5f; } else if (py > y + 4) { dy = .5f; @@ -101,11 +99,11 @@ public class Drop extends Rectangle implements Serializable { } private void checkWorldBounds() { - if (x + 8 > GP.world.getWidthPx()) { - x -= GP.world.getWidthPx(); - } else if (x < 0) { - x += GP.world.getWidthPx(); - } +// if (x + 8 > world.getWidthPx()) { +// x -= world.getWidthPx(); +// } else if (x < 0) { +// x += world.getWidthPx(); +// } } public void move() {