This commit is contained in:
GabrielMagnus 2020-04-02 10:26:42 +02:00
commit 11139cb5f8
6 changed files with 78 additions and 141 deletions

View File

@ -0,0 +1,30 @@
package inf112.fiasko.roborally.game_wrapper;
import com.badlogic.gdx.Screen;
public abstract class AbstractScreen implements Screen {
@Override
public void show() {
//Nothing to do
}
@Override
public void pause() {
//Nothing to do
}
@Override
public void resume() {
//Nothing to do
}
@Override
public void hide() {
//Nothing to do
}
@Override
public void dispose() {
//Nothing to do
}
}

View File

@ -21,7 +21,7 @@ import inf112.fiasko.roborally.utility.TextureConverterUtil;
import java.util.List;
public class BoardActiveScreen implements Screen, InputProcessor {
public class BoardActiveScreen extends AbstractScreen implements InputProcessor {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
private IDrawableGame debugGame;
@ -59,20 +59,6 @@ public class BoardActiveScreen implements Screen, InputProcessor {
viewport.update(width, height);
}
@Override
public void pause() {
//Nothing to do
}
@Override
public void resume() {
//Nothing to do
}
@Override
public void hide() {
//Nothing to do
}
@Override
public void render(float delta) {

View File

@ -7,7 +7,7 @@ import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
public class LoadingScreen implements Screen {
public class LoadingScreen extends AbstractScreen {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
@ -25,10 +25,6 @@ public class LoadingScreen implements Screen {
startTime = System.currentTimeMillis();
}
@Override
public void show() {
//Nothing to do
}
@Override
public void render(float delta) {
@ -53,23 +49,4 @@ public class LoadingScreen implements Screen {
viewport.update(width, height);
}
@Override
public void pause() {
//Nothing to do
}
@Override
public void resume() {
//Nothing to do
}
@Override
public void hide() {
//Nothing to do
}
@Override
public void dispose() {
//Nothing to do
}
}

View File

@ -7,7 +7,7 @@ import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
public class MainMenuScreen implements Screen {
public class MainMenuScreen extends AbstractScreen {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
@ -20,11 +20,6 @@ public class MainMenuScreen implements Screen {
viewport = new ExtendViewport(400, 400, camera);
}
@Override
public void show() {
//Nothing to do
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.2f, 1f, 0.2f, 1);
@ -50,23 +45,4 @@ public class MainMenuScreen implements Screen {
viewport.update(width, height);
}
@Override
public void pause() {
//Nothing to do
}
@Override
public void resume() {
//Nothing to do
}
@Override
public void hide() {
//Nothing to do
}
@Override
public void dispose() {
//Nothing to do
}
}

View File

@ -1,7 +1,6 @@
package inf112.fiasko.roborally.game_wrapper;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
@ -11,7 +10,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
public class PowerDownScreen implements Screen {
public class PowerDownScreen extends AbstractScreen {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
@ -20,15 +19,15 @@ public class PowerDownScreen implements Screen {
private long startTime;
private final int applicationWidth = 600;
private final int applicationHeight = 800;
private Boolean press = false;
private Boolean buttonPressed = false;
public PowerDownScreen(final RoboRallyWrapper roboRallyWrapper) {
camera = new OrthographicCamera();
viewport = new FitViewport(applicationWidth, applicationHeight, camera);
stage = new Stage();
TextButton powerDownButton = new SimpleButton("PowerDown", roboRallyWrapper.font).getButton();
stage.addActor(powerDownButton);
powerDownButton.setY(applicationHeight/2f);
powerDownButton.setX(applicationWidth/2f+powerDownButton.getWidth()/4f);
powerDownButton.setY(applicationHeight / 2f);
powerDownButton.setX(applicationWidth / 2f + powerDownButton.getWidth() / 4f);
this.roboRallyWrapper = roboRallyWrapper;
camera.setToOrtho(false, applicationWidth, applicationHeight);
Gdx.input.setInputProcessor(stage);
@ -36,16 +35,12 @@ public class PowerDownScreen implements Screen {
powerDownButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
press = true;
buttonPressed = true;
return true;//her we do stuff
}
});
}
@Override
public void show() {
//Nothing to do
}
@Override
public void render(float delta) {
@ -54,18 +49,20 @@ public class PowerDownScreen implements Screen {
camera.update();
roboRallyWrapper.batch.setProjectionMatrix(camera.combined);
int elapsedTime = (int)Math.floor((System.currentTimeMillis() - startTime) / 1000f);
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "click to go in PowerDown you have 10 seconds",
applicationWidth/2f-380/2f,applicationHeight/2f +100,380, 1, true);
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Click the button to enter Power Down next round",
applicationWidth/2f-380/2f,applicationHeight/2f + 100,380, 1, true);
roboRallyWrapper.font.draw(roboRallyWrapper.batch, String.valueOf(10 - elapsedTime),
applicationWidth / 2f - 40 / 2f,applicationHeight/2f - 100,40, 1, true);
roboRallyWrapper.batch.end();
stage.draw();
long time = System.currentTimeMillis();
if (time-startTime>10000){
if (elapsedTime > 10) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getMainMenuScreen(this.roboRallyWrapper));
dispose();
}
else if (press){
} else if (buttonPressed) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLoadingScreen(this.roboRallyWrapper));
dispose();
}
@ -76,24 +73,4 @@ public class PowerDownScreen implements Screen {
viewport.update(width, height);
}
@Override
public void pause() {
//Nothing to do
}
@Override
public void resume() {
//Nothing to do
}
@Override
public void hide() {
//Nothing to do
}
@Override
public void dispose() {
//Nothing to do
}
}

View File

@ -12,7 +12,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
public class StartMenuScreen implements Screen {
public class StartMenuScreen extends AbstractScreen {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
@ -20,7 +20,6 @@ public class StartMenuScreen implements Screen {
private final Stage stage;
private final int applicationWidth = 600;
private final int applicationHeight = 800;
private Boolean press = false;
public StartMenuScreen(final RoboRallyWrapper roboRallyWrapper) {
camera = new OrthographicCamera();
viewport = new FitViewport(applicationWidth, applicationHeight, camera);
@ -33,13 +32,38 @@ public class StartMenuScreen implements Screen {
this.roboRallyWrapper = roboRallyWrapper;
camera.setToOrtho(false, applicationWidth, applicationHeight);
Gdx.input.setInputProcessor(stage);
Input.TextInputListener nameInputClient = new Input.TextInputListener() {
@Override
public void input(String name) {
//TODO: do something with the name
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getMainMenuScreen(roboRallyWrapper));
dispose();
}
@Override
public void canceled() {
}
};
Input.TextInputListener nameInputServer = new Input.TextInputListener() {
@Override
public void input(String name) {
//TODO: do something with the name
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLoadingScreen(roboRallyWrapper));
dispose();
}
@Override
public void canceled() {
}
};
serverButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
MyTextInputListener nameinput = new MyTextInputListener();
Gdx.input.getTextInput(nameinput, "Name input", "input name her", "");
press = true;
return true;//her we do stuff
Gdx.input.getTextInput(nameInputServer, "Name input", "input name her", "");
return true; // Here do stuff
}
});
@ -52,11 +76,8 @@ public class StartMenuScreen implements Screen {
clientButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
press = true;
MyTextInputListener nameinput = new MyTextInputListener();
Gdx.input.getTextInput(nameinput, "Name input", "input name her", "");
return true;//her we do stuff
Gdx.input.getTextInput(nameInputClient, "Name input", "input name her", "");
return true;// Here we do stuff
}
});
@ -76,11 +97,6 @@ public class StartMenuScreen implements Screen {
}
@Override
public void show() {
//Nothing to do
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.5f, 0.5f, 0.5f, 0.5f);
@ -93,11 +109,6 @@ public class StartMenuScreen implements Screen {
applicationWidth/2f-380/2f,applicationHeight/2f +100,380, 1, true);
roboRallyWrapper.batch.end();
stage.draw();
if (press){
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLoadingScreen(this.roboRallyWrapper));
dispose();
}
}
@Override
@ -105,24 +116,4 @@ public class StartMenuScreen implements Screen {
viewport.update(width, height);
}
@Override
public void pause() {
//Nothing to do
}
@Override
public void resume() {
//Nothing to do
}
@Override
public void hide() {
//Nothing to do
}
@Override
public void dispose() {
//Nothing to do
}
}