diff --git a/frontend/android/assets/bg_score.jpg b/frontend/android/assets/bg_score.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6012ae0091cb6fe6abf19d96997a54b2c64eba97 Binary files /dev/null and b/frontend/android/assets/bg_score.jpg differ diff --git a/frontend/core/src/com/gameware/game/states/BubbleWrapState.java b/frontend/core/src/com/gameware/game/states/BubbleWrapState.java index 66ea48c3ff7712313fcb3c789ccaf2fb6033ae22..1bfc7795194db62996a22cf80f516d7204522d0d 100644 --- a/frontend/core/src/com/gameware/game/states/BubbleWrapState.java +++ b/frontend/core/src/com/gameware/game/states/BubbleWrapState.java @@ -47,8 +47,6 @@ public class BubbleWrapState extends PlayStateTemplate { // Creates the bubbles, the table to put them in and adds them to the stage as Actors createBubbles(); createBubbleWrapLayout(); - - Gdx.input.setInputProcessor(stage); } @Override @@ -73,6 +71,7 @@ public class BubbleWrapState extends PlayStateTemplate { @Override public void update(float dt) { + Gdx.input.setInputProcessor(stage); this.handleInput(); this.currentTime += dt; diff --git a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java index e88695b12330737abfccb7ad7d712d3d6253f0d4..372d1e8ce58d01e14308cbd7f46b0b71d1b8d94c 100644 --- a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java +++ b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java @@ -181,6 +181,7 @@ public class CreateJoinTournamentState extends State { @Override public void update(float dt) { + Gdx.input.setInputProcessor(stage); stage.act(dt); } diff --git a/frontend/core/src/com/gameware/game/states/MenuState.java b/frontend/core/src/com/gameware/game/states/MenuState.java index 091ecb8996b635fcdfb0938e3f08aaa69b7b4b6f..f32ba69d41de088108cda6e748fb4e946fc1601a 100644 --- a/frontend/core/src/com/gameware/game/states/MenuState.java +++ b/frontend/core/src/com/gameware/game/states/MenuState.java @@ -1,5 +1,6 @@ package com.gameware.game.states; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.ui.Label; @@ -103,7 +104,10 @@ public class MenuState extends State{ protected void handleInput() { } @Override - public void update(float dt) { stage.act(dt); } + public void update(float dt) { + Gdx.input.setInputProcessor(stage); + stage.act(dt); + } @Override public void render(SpriteBatch sb) { stage.draw(); } diff --git a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java b/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java index 369c7d391daea36449dfd878fb0d061897f0f983..87e2d4aaa8e91974bbf1fe465ced24a0e76fb1b1 100644 --- a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java +++ b/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java @@ -43,9 +43,11 @@ public abstract class PlayStateTemplate extends State { } GameWare.getInstance().updateGameMap(id, new ColorRushState(gsm)); if(round == null) { - gsm.set(new SinglePlayerSelectGameState(gsm)); + gsm.set(new ScoreState(gsm, this.score, new SinglePlayerSelectGameState(gsm))); } else{ - gsm.set(new ViewTournamentState(gsm, tournament, nextRound)); + //TODO: nextRound blir null :/ +// gsm.set(new ScoreState(gsm, this.score, new ViewTournamentState(gsm, tournament, nextRound))); + gsm.set(new ScoreState(gsm, this.score, new CreateJoinTournamentState(gsm))); } } diff --git a/frontend/core/src/com/gameware/game/states/ScoreState.java b/frontend/core/src/com/gameware/game/states/ScoreState.java new file mode 100644 index 0000000000000000000000000000000000000000..b21c9c483637c86e182246504528df30b7378624 --- /dev/null +++ b/frontend/core/src/com/gameware/game/states/ScoreState.java @@ -0,0 +1,85 @@ +package com.gameware.game.states; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.scenes.scene2d.ui.Label; +import com.badlogic.gdx.scenes.scene2d.ui.Table; +import com.gameware.game.models.Round; +import com.gameware.game.models.Tournament; + +public class ScoreState extends State { + + private int score; + private State nextState; + private float currentTime = 0f; + + private Table table; + private Label titleLabel = new Label("Your score:", skin, "big"); + private Label continueLabel = new Label("Touch to continue", skin); + + public ScoreState(GameStateManager gsm, int score, State nextState){ + super(gsm); + this.score = score; + this.nextState = nextState; + + makeStage(); + } + + + private void makeStage(){ + table = new Table(); + table.setFillParent(true); + table.setBackground(backgroundScore); + titleLabel.setFontScale(titleFontBigScale); + + table.add(titleLabel).spaceBottom(spacingOnBottom); + table.row(); + Label scoreLabel = new Label(score+"", skin, "big"); + scoreLabel.setFontScale(titleFontBigScale); + table.add(scoreLabel).spaceBottom(spacingOnBottomInputFIeld); + table.row(); + table.add(continueLabel); + + stage.addActor(table); + } + + private void handleTouch(){ + gsm.set(nextState); + } + + @Override + protected void handleInput() { + if (Gdx.input.justTouched()) { + handleTouch(); + } + } + + @Override + public void update(float dt) { + this.currentTime += dt; + if(currentTime>2f){ + this.handleInput(); + } + stage.act(dt); + } + + @Override + public void render(SpriteBatch sb) { + stage.draw(); + } + + @Override + public void dispose() { + stage.dispose(); + } + + @Override + public void reset() { + + } + + @Override + public Object report() { + return null; + } +} diff --git a/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java b/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java index 0f4f365d5e482f3c129d4ffce3920b8db4696bf7..069561e5e43921bb76805f9e7d2512e40e883529 100644 --- a/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java +++ b/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java @@ -1,5 +1,6 @@ package com.gameware.game.states; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.ui.Label; @@ -56,6 +57,7 @@ public class SinglePlayerSelectGameState extends State { @Override public void update(float dt) { + Gdx.input.setInputProcessor(stage); stage.act(); } diff --git a/frontend/core/src/com/gameware/game/states/State.java b/frontend/core/src/com/gameware/game/states/State.java index 4ed6c4ce86aa520a8d1e29ab7333a5f596dc0260..e69776549c02902e81784813d40a73c5e59eb82f 100644 --- a/frontend/core/src/com/gameware/game/states/State.java +++ b/frontend/core/src/com/gameware/game/states/State.java @@ -26,6 +26,7 @@ public abstract class State { protected static final int buttonHeight = Gdx.graphics.getHeight()/12; protected TextureRegionDrawable background = new TextureRegionDrawable(new TextureRegion(new Texture("bg1.jpg"))); protected TextureRegionDrawable backgroundLighter = new TextureRegionDrawable(new TextureRegion(new Texture("bg1_lighter.jpg"))); + protected TextureRegionDrawable backgroundScore = new TextureRegionDrawable(new TextureRegion(new Texture("bg_score.jpg"))); protected State(GameStateManager gsm){ this.gsm = gsm; diff --git a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java index 71b5b91582fb1080f1266af5c27db6c98000635c..3cd52a63e3b048d5647bbc250560445e714c565b 100644 --- a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java +++ b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java @@ -1,5 +1,6 @@ package com.gameware.game.states; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.ui.Label; @@ -118,6 +119,7 @@ public class ViewTournamentState extends State { @Override public void update(float dt) { + Gdx.input.setInputProcessor(stage); stage.act(dt); }