DEADSOFTWARE

Rename GameState.java -> AppState.java
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / game / GameProc.java
index f3ea4ac131f79be3bfacd01cdac8449f7bfde00c..a2107fa956fd9bc0948d2e02fd0f770b511b1183 100644 (file)
@@ -5,6 +5,7 @@ import com.badlogic.gdx.Input;
 import com.badlogic.gdx.utils.Array;
 import com.badlogic.gdx.utils.TimeUtils;
 import ru.deadsoftware.cavecraft.*;
+import ru.deadsoftware.cavecraft.AppState;
 import ru.deadsoftware.cavecraft.game.mobs.Mob;
 import ru.deadsoftware.cavecraft.game.mobs.Pig;
 import ru.deadsoftware.cavecraft.game.objects.Player;
@@ -31,19 +32,36 @@ public class GameProc {
     public long touchDownTime;
 
     public GameProc() {
-        world = new GameWorld(1024,256);
-        renderer = new GameRenderer(this);
+        world = new GameWorld();
+        if (WorldSaver.exists()) {
+            world.load();
+        } else {
+            world.generate(1024, 256);
+        }
+        if (CaveGame.TOUCH) {
+            renderer = new GameRenderer(this,320,
+                    320*((float)GameScreen.getHeight()/GameScreen.getWidth()));
+        } else {
+            renderer = new GameRenderer(this,480,
+                    480*((float)GameScreen.getHeight()/GameScreen.getWidth()));
+        }
         physics = new GamePhysics(this);
-        player = new Player(world.getSpawnPoint());
+        player = new Player(world.getSpawnPoint(0));
         mobs = new Array<Mob>();
         for (int i=0; i<world.getWidth(); i+=64) {
-            mobs.add(new Pig(i*16, 0, world));
+            mobs.add(new Pig(i*16, (int)world.getSpawnPoint(i).y, world));
         }
         if (!CaveGame.TOUCH) ctrlMode = 1;
     }
 
     public void resetRenderer() {
-        renderer = new GameRenderer(this);
+        if (CaveGame.TOUCH) {
+            renderer = new GameRenderer(this,320,
+                    320*((float)GameScreen.getHeight()/GameScreen.getWidth()));
+        } else {
+            renderer = new GameRenderer(this,480,
+                    480*((float)GameScreen.getHeight()/GameScreen.getWidth()));
+        }
     }
 
     private boolean isAutoselectable(int x, int y) {
@@ -67,7 +85,6 @@ public class GameProc {
                 if (player.dir == 0) cursorX++;
                 else cursorX--;
             }
-            if (player.position.x<0) cursorX--;
         } else if (!CaveGame.TOUCH){
             cursorX = (int)(Gdx.input.getX()*
                     (renderer.camera.viewportWidth/GameScreen.getWidth())+renderer.camera.position.x)/16;
@@ -105,7 +122,7 @@ public class GameProc {
                     touchDownY< Assets.invBar.getRegionHeight() &&
                     touchDownX>renderer.camera.viewportWidth/2-Assets.invBar.getRegionWidth()/2 &&
                     touchDownX<renderer.camera.viewportWidth/2+Assets.invBar.getRegionWidth()/2) {
-                CaveGame.STATE = GameState.GAME_CREATIVE_INV;
+                CaveGame.STATE = AppState.GAME_CREATIVE_INV;
             }
             isTouchDown = false;
         }