diff --git a/frontend/core/src/com/gameware/game/GameWare.java b/frontend/core/src/com/gameware/game/GameWare.java index 82f9cef5be45e38a1ddb065c5653c2334b3a0f85..47d9cfb000f388dc7a275ccd4bb20bb6e5f6e242 100644 --- a/frontend/core/src/com/gameware/game/GameWare.java +++ b/frontend/core/src/com/gameware/game/GameWare.java @@ -5,13 +5,18 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.gameware.game.models.Player; +import com.gameware.game.states.ColorRushState; import com.gameware.game.states.CreateJoinTournamentState; import com.gameware.game.states.GameStateManager; import com.gameware.game.states.MenuState; +import com.gameware.game.states.State; import com.gameware.game.states.ViewHighScoreState; import com.gameware.game.states.ViewTournamentState; import com.gameware.game.states.LoginState; +import java.util.HashMap; +import java.util.Map; + public class GameWare extends ApplicationAdapter { private SpriteBatch batch; private GameStateManager gsm; @@ -21,6 +26,7 @@ public class GameWare extends ApplicationAdapter { public static final String TITLE = "WackyWare!"; public static final String skinFilePath = "glassy/skin/glassy-ui.json"; private Player player; + public static Map<String, State> gameIdToPlayState = new HashMap<>(); // TODO: Add music private static GameWare instance = null; @@ -35,6 +41,10 @@ public class GameWare extends ApplicationAdapter { @Override public void create () { gsm = GameStateManager.getInstance(); + + gameIdToPlayState.put("5e5d0efaa6e2bc5cb4920b7a", new ColorRushState(gsm)); + //gameIdToPlayState.put("5e5d0f1ea6e2bc5cb4920b7b", new BubbleWrapState(gsm)); + batch = new SpriteBatch(); //music = Gdx.audio.newMusic(Gdx.files.internal(("music.mp3"))); //music.setLooping(true); diff --git a/frontend/core/src/com/gameware/game/models/Tournament.java b/frontend/core/src/com/gameware/game/models/Tournament.java index ecb1f14323242967210ba5b5d31888bed000db0a..e113240210bbc6139f6dc622cc21c95b619331c3 100644 --- a/frontend/core/src/com/gameware/game/models/Tournament.java +++ b/frontend/core/src/com/gameware/game/models/Tournament.java @@ -24,6 +24,15 @@ public class Tournament { public Tournament() { } + //Just testing delete afterwards + public Tournament(String _id, String name, List<String> players, int roundsPerGame, int currentRound) { + this._id = _id; + this.name = name; + this.players = players; + this.roundsPerGame = roundsPerGame; + this.currentRound = currentRound; + } + //Just testing delete afterwards public Tournament(String _id, String name) { this._id = _id; diff --git a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java index 8565d21e49715fd94b64e9ea5915d0b68cf404c0..015088c8eccc447734ea28c7b13a897c8c078934 100644 --- a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java +++ b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java @@ -8,6 +8,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; +import com.gameware.game.GameWare; +import com.gameware.game.models.Player; import com.gameware.game.models.Tournament; import java.util.ArrayList; @@ -54,15 +56,19 @@ public class CreateJoinTournamentState extends State { public CreateJoinTournamentState(GameStateManager gsm) { super(gsm); System.out.println("Du er i create join tournament state :0"); - tournaments.add(new Tournament("id1", "Tournament 1")); - tournaments.add(new Tournament("id2", "Beste tournament!!")); - tournaments.add(new Tournament("id3", "La oss spille >:D")); - tournaments.add(new Tournament("id4", "Tournament 4")); - tournaments.add(new Tournament("id5", "Tournament 5")); - tournaments.add(new Tournament("id6", "Tournament 6")); - tournaments.add(new Tournament("id7", "Tournament 7")); - tournaments.add(new Tournament("id8", "Tournament 8")); - tournaments.add(new Tournament("id9", "Tournament 9")); + List<String> players = new ArrayList<>(); + players.add("Kari"); + players.add("Bob"); + players.add("BlÄruss"); + tournaments.add(new Tournament("id1", "Tournament 1", players, 5, 3)); + tournaments.add(new Tournament("id2", "Beste tournament!!", players, 5, 3)); + tournaments.add(new Tournament("id3", "La oss spille >:D", players, 5, 3)); + tournaments.add(new Tournament("id4", "Tournament 4", players, 5, 3)); + tournaments.add(new Tournament("id5", "Tournament 5", players, 5, 3)); + tournaments.add(new Tournament("id6", "Tournament 6", players, 5, 3)); + tournaments.add(new Tournament("id7", "Tournament 7", players, 5, 3)); + tournaments.add(new Tournament("id8", "Tournament 8", players, 5, 3)); + tournaments.add(new Tournament("id9", "Tournament 9", players, 5, 3)); try{ // tournaments = QueryIntermediate.getTournamentsForPlayer(GameWare.getPlayer().getId()); }catch(Exception e){ @@ -175,7 +181,7 @@ public class CreateJoinTournamentState extends State { private void handleEnterBtnClick(Tournament t){ System.out.println("Entered tournament with id = "+ t.get_id()); - gsm.set(new ViewTournamentState(gsm)); + gsm.set(new ViewTournamentState(gsm, t)); } private void handleLeaveBtnClick(Tournament t){ diff --git a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java index 5a8a3689f38a97f6ce7c1527824503e4e945a2c1..34f036d3ec0af0e8769c04012dd6c4c98e43cfbf 100644 --- a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java +++ b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java @@ -2,25 +2,46 @@ package com.gameware.game.states; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.InputEvent; +import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; +import com.gameware.game.GameWare; +import com.gameware.game.models.Round; +import com.gameware.game.models.Tournament; public class ViewTournamentState extends State { private Table table; + private Tournament tournament; private String backBtnText = "Back"; + private String playBtnText = "Play Round"; + private String viewPointsBtnText = "View Points"; + private String nrPlayersText = "Players in tournament"; + private String roundsLeftText = "Rounds left"; - public ViewTournamentState(GameStateManager gsm) { + public ViewTournamentState(GameStateManager gsm, Tournament tournament) { super(gsm); System.out.println("Du er i view tournament state :0"); + this.tournament = tournament; table = new Table(); table.setFillParent(true); table.row(); - table.add(makeBackBtn()); + table.add(new Label(tournament.getName(), skin)).spaceBottom(spacingOnBottomInputFIeld); + table.row(); + table.add(makePlayBtn()).spaceBottom(spacingOnBottomInputFIeld); + table.row(); + table.add(new Label(nrPlayersText+" "+tournament.getPlayers().size(), skin)); + table.row(); + table.add(new Label(roundsLeftText+" "+(tournament.getRoundsPerGame()-tournament.getCurrentRound()), skin)).spaceBottom(spacingOnBottomInputFIeld); + table.row(); + Table innerTable = new Table(); + innerTable.add(makeBackBtn()); + innerTable.add(makeViewPointsBtn()); + table.add(innerTable); stage.addActor(table); } @@ -36,11 +57,31 @@ public class ViewTournamentState extends State { return backBtn; } - @Override - protected void handleInput() { + private TextButton makePlayBtn(){ + TextButton playBtn = new TextButton(playBtnText, skin); + playBtn.addListener(new ClickListener() { + @Override + public void clicked(InputEvent e, float x, float y){ + handlePlayBtnClick(); + } + }); + return playBtn; + } + private TextButton makeViewPointsBtn(){ + TextButton viewPoints = new TextButton(viewPointsBtnText, skin); + viewPoints.addListener(new ClickListener() { + @Override + public void clicked(InputEvent e, float x, float y){ + handleViewPointsBtnClick(); + } + }); + return viewPoints; } + @Override + protected void handleInput() { } + @Override public void update(float dt) { stage.act(dt); @@ -57,9 +98,7 @@ public class ViewTournamentState extends State { } @Override - public void reset() { - - } + public void reset() { } @Override public Object report() { @@ -69,4 +108,18 @@ public class ViewTournamentState extends State { private void handleBackBtnClick(){ gsm.set(new CreateJoinTournamentState(gsm)); } + + private void handlePlayBtnClick(){ + try{ +// Round round = QueryIntermediate.getRoundFromTournament(tournament.get_id(), GameWare.getInstance().getPlayer(), tournament.getCurrentRound()); +// gsm.set(GameWare.gameIdToPlayState.get(round.getGameId())); + gsm.set(GameWare.gameIdToPlayState.get("5e5d0efaa6e2bc5cb4920b7a")); + }catch(Exception e){ + System.out.println(e); + } + } + + private void handleViewPointsBtnClick(){ +// gsm.set(TournamentHighScoreState(gsm, tournament)); + } }