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;
18 public Array
<Mob
> mobs
;
20 public GameWorld world
;
21 public GameRenderer renderer
;
22 public GamePhysics physics
;
24 public int cursorX
, cursorY
;
28 public boolean isTouchDown
= false;
29 public int touchDownX
, touchDownY
;
30 public int touchDownButton
;
31 public long touchDownTime
;
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
>();
42 public void resetRenderer() {
43 renderer
= new GameRenderer(this);
46 public void update(float 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
;