2014-08-10 00:42:19 +02:00
|
|
|
package de.samdev.colorrunner.screens.gameScreen;
|
2014-08-10 00:24:45 +02:00
|
|
|
|
|
|
|
import com.badlogic.gdx.Gdx;
|
2014-08-10 01:59:18 +02:00
|
|
|
import com.badlogic.gdx.InputMultiplexer;
|
2014-08-10 00:24:45 +02:00
|
|
|
import com.badlogic.gdx.Screen;
|
2014-08-10 01:59:18 +02:00
|
|
|
import com.badlogic.gdx.input.GestureDetector;
|
2014-08-10 00:24:45 +02:00
|
|
|
|
2014-08-10 17:19:40 +02:00
|
|
|
import de.samdev.colorrunner.game.renderer.CRGameRenderer;
|
2014-08-10 20:59:50 +02:00
|
|
|
import de.samdev.colorrunner.game.world.AverageExecutionLogger;
|
2014-08-10 17:19:40 +02:00
|
|
|
import de.samdev.colorrunner.game.world.CRGameWorld;
|
2014-08-10 01:59:18 +02:00
|
|
|
import de.samdev.colorrunner.input.CRGameInputProcessor;
|
2014-08-10 00:24:45 +02:00
|
|
|
|
2014-08-10 19:41:06 +02:00
|
|
|
public class GameScreen implements Screen {
|
2014-08-10 17:19:40 +02:00
|
|
|
private CRGameWorld world;
|
|
|
|
private CRGameRenderer renderer;
|
2014-08-10 19:41:06 +02:00
|
|
|
private CRGameInputProcessor input = new CRGameInputProcessor(world);
|
2014-08-10 20:59:50 +02:00
|
|
|
|
|
|
|
private AverageExecutionLogger execTime = new AverageExecutionLogger();
|
2014-08-10 17:19:40 +02:00
|
|
|
|
2014-08-10 00:24:45 +02:00
|
|
|
public GameScreen() {
|
2014-08-10 17:19:40 +02:00
|
|
|
world = new CRGameWorld(); // initialize world
|
|
|
|
renderer = new CRGameRenderer(world, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); // initialize renderer
|
2014-08-10 19:41:06 +02:00
|
|
|
|
|
|
|
input = new CRGameInputProcessor(world);
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void render(float delta) {
|
2014-08-10 20:59:50 +02:00
|
|
|
execTime.On();
|
|
|
|
//#######################
|
|
|
|
|
|
|
|
|
|
|
|
delta = Math.min(delta, (1/45f));
|
|
|
|
|
2014-08-10 17:19:40 +02:00
|
|
|
world.update(delta);
|
|
|
|
renderer.render();
|
2014-08-10 19:41:06 +02:00
|
|
|
|
|
|
|
input.update();
|
2014-08-10 20:59:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
//#######################
|
|
|
|
renderer.avgExecTime = execTime.getAvg();
|
|
|
|
execTime.Off();
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void resize(int width, int height) {
|
2014-08-10 17:19:40 +02:00
|
|
|
Gdx.app.log("GameScreen", "resize called");
|
|
|
|
|
|
|
|
renderer.resize(width, height);
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void show() {
|
2014-08-10 19:41:06 +02:00
|
|
|
Gdx.input.setInputProcessor(new InputMultiplexer(input, new GestureDetector(input)));
|
2014-08-10 17:19:40 +02:00
|
|
|
|
|
|
|
Gdx.app.log("GameScreen", "show called");
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void hide() {
|
2014-08-10 01:59:18 +02:00
|
|
|
Gdx.input.setInputProcessor(null);
|
2014-08-10 17:19:40 +02:00
|
|
|
|
|
|
|
Gdx.app.log("GameScreen", "hide called");
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void pause() {
|
2014-08-10 17:19:40 +02:00
|
|
|
Gdx.app.log("GameScreen", "pause called");
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void resume() {
|
2014-08-10 17:19:40 +02:00
|
|
|
Gdx.app.log("GameScreen", "resume called");
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void dispose() {
|
2014-08-10 17:19:40 +02:00
|
|
|
Gdx.app.log("GameScreen", "dispose called");
|
2014-08-10 00:24:45 +02:00
|
|
|
}
|
|
|
|
}
|