lagde et lobby screen

This commit is contained in:
Tobydrama 2020-04-06 15:19:02 +02:00
parent 3059b0a031
commit 9950e67116

View File

@ -0,0 +1,63 @@
package inf112.fiasko.roborally.game_wrapper;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.InputListener;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
public class LobbyScreen extends AbstractScreen {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
private final Viewport viewport;
private final Stage stage;
private final int applicationWidth = 600;
private final int applicationHeight = 800;
public LobbyScreen(final RoboRallyWrapper roboRallyWrapper) {
camera = new OrthographicCamera();
viewport = new FitViewport(applicationWidth, applicationHeight, camera);
stage = new Stage();
TextButton startGameButton= new SimpleButton("Start", roboRallyWrapper.font).getButton();
stage.addActor(startGameButton);
startGameButton.setY(applicationHeight / 2f);
startGameButton.setX(applicationWidth / 2f + startGameButton.getWidth() / 4f);
this.roboRallyWrapper = roboRallyWrapper;
camera.setToOrtho(false, applicationWidth, applicationHeight);
Gdx.input.setInputProcessor(stage);
startGameButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getBoardActiveScreen(roboRallyWrapper));
return true;//her we do stuff
}
});
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.5f, 0.5f, 0.5f, 0.5f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
roboRallyWrapper.batch.setProjectionMatrix(camera.combined);
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Click the button to start game",
applicationWidth/2f-380/2f,applicationHeight/2f + 100,380, 1, true);
roboRallyWrapper.batch.end();
stage.draw();
}
@Override
public void resize(int width, int height) {
viewport.update(width, height);
}
}