ColorRunner/core/src/de/samdev/colorrunner/screens/gameScreen/GameScreen.java

86 lines
2.0 KiB
Java
Raw Normal View History

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;
import com.badlogic.gdx.InputMultiplexer;
2014-08-10 00:24:45 +02:00
import com.badlogic.gdx.Screen;
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;
2017-04-14 01:06:53 +02:00
import de.samdev.colorrunner.game.world.map.provider.MapProvider;
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
2017-04-14 01:06:53 +02:00
public GameScreen(MapProvider prov) {
world = new CRGameWorld(prov); // initialize world
2014-08-10 17:19:40 +02:00
renderer = new CRGameRenderer(world, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); // initialize renderer
2017-04-14 01:11:39 +02:00
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() {
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
}
}