diff --git a/core/src/ru/deadsoftware/cavecraft/GameScreen.java b/core/src/ru/deadsoftware/cavecraft/GameScreen.java
index 9ad88f6eb4517c61f7c437ce202a6e5c49158d9c..6daa039bdb5043143300029941094c1b18a10ff5 100644 (file)
package ru.deadsoftware.cavecraft;
import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.Screen;
-import ru.deadsoftware.cavecraft.game.GameInputHandler;
import ru.deadsoftware.cavecraft.game.GameProc;
-import ru.deadsoftware.cavecraft.game.GameRenderer;
+import ru.deadsoftware.cavecraft.menu.MenuRenderer;
public class GameScreen implements Screen {
+ public static int FPS;
+
private GameProc gameProc;
- private GameInputHandler gameInput;
+ private Renderer renderer;
public GameScreen() {
Assets.load();
+ Items.load();
gameProc = new GameProc();
- gameInput = new GameInputHandler(gameProc);
- Gdx.input.setInputProcessor(new InputHandler());
+ renderer = new MenuRenderer();
+ Gdx.input.setInputProcessor(new InputHandlerMenu());
}
public static int getWidth() {
return Gdx.graphics.getHeight();
}
+ private void game(float delta) {
+ gameProc.update(delta);
+ }
+
+ private void menu() {
+ }
+
@Override
public void show() {
@Override
public void render(float delta) {
- gameProc.update(delta);
- gameProc.renderer.render();
+ FPS = (int)(1/delta);
+ switch (CaveGame.STATE) {
+ case GAME_PLAY: case GAME_CREATIVE_INV:
+ game(delta);
+ break;
+
+ case MENU_MAIN:
+ menu();
+ break;
+
+ case RESTART:
+ gameProc = new GameProc();
+ Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
+ CaveGame.STATE = GameState.GAME_PLAY;
+ break;
+ }
+ renderer.render();
}
@Override
public void resize(int width, int height) {
- gameProc.resetRenderer();
+ switch (CaveGame.STATE) {
+ case MENU_MAIN:
+ renderer = new MenuRenderer();
+ break;
+ case GAME_PLAY: case GAME_CREATIVE_INV:
+ gameProc.resetRenderer();
+ break;
+ }
}
@Override
}
- private class InputHandler implements InputProcessor {
-
- @Override
- public boolean keyDown(int keycode) {
- gameInput.keyDown(keycode);
- return false;
- }
-
- @Override
- public boolean keyUp(int keycode) {
- gameInput.keyUp(keycode);
- return false;
- }
-
- @Override
- public boolean keyTyped(char character) {
- return false;
- }
-
- @Override
- public boolean touchDown(int screenX, int screenY, int pointer, int button) {
- screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
- screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
- gameInput.touchDown(screenX, screenY, button);
- return false;
- }
-
- @Override
- public boolean touchUp(int screenX, int screenY, int pointer, int button) {
- screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
- screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
- gameInput.touchUp(screenX, screenY, button);
- return false;
- }
-
- @Override
- public boolean touchDragged(int screenX, int screenY, int pointer) {
- screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
- screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
- gameInput.touchDragged(screenX, screenY);
- return false;
- }
-
- @Override
- public boolean mouseMoved(int screenX, int screenY) {
- screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
- screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
- gameInput.mouseMoved(screenX,screenY);
- return false;
- }
-
- @Override
- public boolean scrolled(int amount) {
- return false;
- }
- }
}