DEADSOFTWARE

Update input handling (pretty messy)
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / game / GameProc.java
1 package ru.deadsoftware.cavecraft.game;
3 import com.badlogic.gdx.Input;
4 import com.badlogic.gdx.math.RandomXS128;
5 import com.badlogic.gdx.utils.Array;
6 import com.badlogic.gdx.utils.TimeUtils;
7 import ru.deadsoftware.cavecraft.Assets;
8 import ru.deadsoftware.cavecraft.game.mobs.Human;
9 import ru.deadsoftware.cavecraft.game.mobs.Mob;
10 import ru.deadsoftware.cavecraft.game.objects.Player;
12 public class GameProc {
14 public static double RUN_TIME = 0;
16 public Player player;
18 public Array<Mob> mobs;
20 public GameWorld world;
21 public GameRenderer renderer;
22 public GamePhysics physics;
24 public int cursorX, cursorY;
25 public int invSlot;
26 public int ctrlMode;
28 public boolean isTouchDown = false;
29 public int touchDownX, touchDownY;
30 public int touchDownButton;
31 public long touchDownTime;
33 public GameProc() {
34 world = new GameWorld(4096,256);
35 renderer = new GameRenderer(this);
36 physics = new GamePhysics(this);
37 player = new Player(world.getSpawnPoint());
38 mobs = new Array<Mob>();
40 }
42 public void resetRenderer() {
43 renderer = new GameRenderer(this);
44 }
46 public void update(float delta) {
47 RUN_TIME += delta;
49 physics.update(delta);
51 if (isTouchDown && TimeUtils.timeSinceMillis(touchDownTime) > 500) {
52 if (touchDownButton== Input.Buttons.RIGHT) {
53 world.placeToBackground(cursorX, cursorY,
54 player.inventory[invSlot]);
55 } else if (touchDownButton==Input.Buttons.LEFT &&
56 touchDownY< Assets.invBar.getRegionHeight() &&
57 touchDownX>renderer.camera.viewportWidth/2-Assets.invBar.getRegionWidth()/2 &&
58 touchDownX<renderer.camera.viewportWidth/2+Assets.invBar.getRegionWidth()/2) {
59 renderer.showCreative = !renderer.showCreative;
60 }
61 isTouchDown = false;
62 }
63 }
65 }