From c2ba5aa3b69b6318ac79325cd257016f7256eb36 Mon Sep 17 00:00:00 2001
From: Turid Dahl <turidcd@stud.ntnu.no>
Date: Tue, 17 Mar 2020 12:23:05 +0100
Subject: [PATCH] #36 added creation of tournament table from list of
 tournaments where the id follows when entered

---
 .../core/src/com/gameware/game/GameWare.java  |  2 +-
 .../com/gameware/game/models/Tournament.java  |  6 ++
 .../states/CreateJoinTournamentState.java     | 96 ++++++++-----------
 .../com/gameware/game/states/LoginState.java  | 15 ++-
 4 files changed, 53 insertions(+), 66 deletions(-)

diff --git a/frontend/core/src/com/gameware/game/GameWare.java b/frontend/core/src/com/gameware/game/GameWare.java
index 2b545ce..12408c4 100644
--- a/frontend/core/src/com/gameware/game/GameWare.java
+++ b/frontend/core/src/com/gameware/game/GameWare.java
@@ -20,7 +20,7 @@ public class GameWare extends ApplicationAdapter {
 	public static final String TITLE = "WackyWare!";
 	public static final String skinFilePath = "glassy/skin/glassy-ui.json";
 	// TODO: Add music
-	// TODO: private User user; + get og set
+	// TODO: private Player player; + get og set
 
 	private static GameWare instance = null;
     //Singleton (lazy initialization)
diff --git a/frontend/core/src/com/gameware/game/models/Tournament.java b/frontend/core/src/com/gameware/game/models/Tournament.java
index d179c52..ecb1f14 100644
--- a/frontend/core/src/com/gameware/game/models/Tournament.java
+++ b/frontend/core/src/com/gameware/game/models/Tournament.java
@@ -24,6 +24,12 @@ public class Tournament {
     public Tournament() {
     }
 
+    //Just testing delete afterwards
+    public Tournament(String _id, String name) {
+        this._id = _id;
+        this.name = name;
+    }
+
     public String get_id() {
         return _id;
     }
diff --git a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java
index 7bd28c4..d4a14ff 100644
--- a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java
+++ b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java
@@ -5,10 +5,14 @@ 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.ScrollPane;
-import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 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.Tournament;
+
+import java.util.ArrayList;
+import java.util.List;
 
 public class CreateJoinTournamentState extends State {
 
@@ -22,62 +26,41 @@ public class CreateJoinTournamentState extends State {
     private String joinBtnText = "Join new";
     private String tournamentText = "Tournament 1";
 
+    private List<Tournament> tournaments = new ArrayList<>();
+
+    public class MyClickListener extends ClickListener{
+        private Tournament tournament;
+
+        public MyClickListener(Tournament tournament){
+            this.tournament = tournament;
+        }
+
+        public void clicked(InputEvent event, float x, float y) {
+            handleEnterBtnClick(tournament.get_id());
+        };
+    }
 
     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 = QueryIntermediate.getTournamentsForPlayer(GameWare.getPlayer().getId());
 
         outerTable = new Table();
         outerTable.setFillParent(true);
         innerTable = new Table();
-        outerTable.setFillParent(true);
-
-        outerTable.row();
-        innerTable.row();
+        innerTable.setFillParent(true);
 
-        Label tournamentLabel = new Label(tournamentText,skin);
-        //TODO: autogenerere utifra query og putt dem i en liste
-        TextButton enterBtn = new TextButton(enterBtnText, skin);
-        enterBtn.addListener(new ClickListener() {
-            @Override
-            public void clicked(InputEvent e, float x, float y){
-                handleEnterBtnClick();
-            }
-        });
-
-        TextButton enterBtn2 = new TextButton(enterBtnText, skin);
-        enterBtn2.addListener(new ClickListener() {
-            @Override
-            public void clicked(InputEvent e, float x, float y){
-                handleEnterBtnClick();
-            }
-        });
-
-        TextButton enterBtn3 = new TextButton(enterBtnText, skin);
-        enterBtn3.addListener(new ClickListener() {
-            @Override
-            public void clicked(InputEvent e, float x, float y){
-                handleEnterBtnClick();
-            }
-        });
-
-        TextButton enterBtn4 = new TextButton(enterBtnText, skin);
-        enterBtn4.addListener(new ClickListener() {
-            @Override
-            public void clicked(InputEvent e, float x, float y){
-                handleEnterBtnClick();
-            }
-        });
-
-        innerTable.add(tournamentLabel).size(Gdx.graphics.getWidth()/5);
-        innerTable.add(enterBtn);
-        innerTable.row();
-        innerTable.add(enterBtn2);
-        innerTable.row();
-        innerTable.add(enterBtn3);
-        innerTable.row();
-        innerTable.add(enterBtn4);
-        innerTable.row();
+        for (Tournament t : tournaments){
+            Label tournamentLabel = new Label(t.getName(),skin);
+            TextButton enterBtn = new TextButton(enterBtnText, skin);
+            enterBtn.addListener(new MyClickListener(t));
+            innerTable.add(tournamentLabel);
+            innerTable.add(enterBtn);
+            innerTable.row();
+        }
 
         ScrollPane tournamentsPane = new ScrollPane(innerTable, skin);
         outerTable.add(tournamentsPane).spaceBottom(spacingOnBottom);
@@ -86,14 +69,8 @@ public class CreateJoinTournamentState extends State {
         outerTable.add(makeCreateBtn()).spaceBottom(spacingOnBottom);
         outerTable.add(makeJoinBtn()).spaceBottom(spacingOnBottom);
         outerTable.row();
-
         outerTable.add(makeBackBtn()).spaceBottom(spacingOnBottom);
 
-        //outerTable.row();
-
-        Label tournamentLabel1 = new Label(tournamentText,skin);
-        outerTable.add(tournamentLabel1).size(labelSize);
-
         stage.addActor(outerTable);
     }
 
@@ -164,12 +141,17 @@ public class CreateJoinTournamentState extends State {
         gsm.set(new MenuState(gsm));
     }
 
-    private void handleEnterBtnClick(){
+    private void handleEnterBtnClick(String id){
+        System.out.println(id);
         gsm.set(new ViewTournamentState(gsm));
     }
 
-    private void handleCreateBtnClick(){};
+    private void handleCreateBtnClick(){
+        //gsm.set(new CreateTournamentState(gsm));
+    };
 
-    private void handleJoinBtnClick(){};
+    private void handleJoinBtnClick(){
+        //QueryIntermediate.joinATournament(GameWare.getPlayer().getId());
+    };
 
 }
diff --git a/frontend/core/src/com/gameware/game/states/LoginState.java b/frontend/core/src/com/gameware/game/states/LoginState.java
index 7d2ca7b..f30126e 100644
--- a/frontend/core/src/com/gameware/game/states/LoginState.java
+++ b/frontend/core/src/com/gameware/game/states/LoginState.java
@@ -3,7 +3,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.Skin;
 import com.badlogic.gdx.scenes.scene2d.ui.Table;
 import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
 import com.badlogic.gdx.scenes.scene2d.ui.TextField;
@@ -121,12 +120,12 @@ public class LoginState extends State {
     private void handleLoginBtnClick(){
         String username = usernameInputField.getText();
         String password = passwordInputField.getText();
-//        User user;
+//        Player player;
         try {
             //TODO:
-//            User user = QueryIntermediate.getUser(username, password);
-//            gsm.set(new MenuState(gsm));
-//            GameWare.setUser(user);
+//            Player player = QueryIntermediate.getUser(username, password);
+            gsm.set(new MenuState(gsm));
+//            GameWare.setPlayer(player);
         }catch(Exception e){
 //            TODO: Endre fra exception til spesifisert Element Not Found Exception eller hva det heter
 //            melding ut om at brukeren ikke eksisterer
@@ -136,12 +135,12 @@ public class LoginState extends State {
     private void handleSignUpBtnClick(){
         String username = usernameInputField.getText();
         String password = passwordInputField.getText();
-//        User user;
+//        Player player;
         try {
 //            TODO:
 //            QueryIntermediate.createPlayer(username, password)
-//            gsm.set(new MenuState(gsm));
-//            GameWare.setUser(user);
+            gsm.set(new MenuState(gsm));
+//            GameWare.setPlayer(player);
         }catch(Exception e){
 //            TODO: Endre fra exception til spesifisert Element Not Found Exception eller hva det heter
         }
-- 
GitLab