From 24eb33e3c395aef2afd56a8c54564dbe1dd733cc Mon Sep 17 00:00:00 2001
From: Turid Dahl <turidcd@stud.ntnu.no>
Date: Mon, 20 Apr 2020 14:16:05 +0200
Subject: [PATCH] Refactored to PlayStateUnion and MenuStateUnion

---
 frontend/core/src/com/gameware/game/GameWare.java      | 10 +++++-----
 .../src/com/gameware/game/states/BubbleWrapState.java  |  2 +-
 .../src/com/gameware/game/states/ColorRushState.java   |  2 +-
 .../game/states/CreateJoinTournamentState.java         |  2 +-
 .../gameware/game/states/CreateNewTournamentState.java |  2 +-
 .../gameware/game/states/FinishedTournamentState.java  |  2 +-
 .../src/com/gameware/game/states/FruitSlicerState.java |  2 +-
 .../core/src/com/gameware/game/states/LoginState.java  |  3 +--
 .../core/src/com/gameware/game/states/MenuState.java   |  3 +--
 .../{MenuStateTemplate.java => MenuStateUnion.java}    |  4 ++--
 .../src/com/gameware/game/states/OptionsState.java     |  2 +-
 .../core/src/com/gameware/game/states/PauseState.java  |  4 ++--
 .../{PlayStateTemplate.java => PlayStateUnion.java}    |  4 ++--
 .../core/src/com/gameware/game/states/ScoreState.java  |  2 +-
 .../game/states/SinglePlayerSelectGameState.java       |  4 ++--
 frontend/core/src/com/gameware/game/states/State.java  |  2 +-
 .../gameware/game/states/TournamentHighScoreState.java |  2 +-
 .../game/states/ViewHighScoreForGameState.java         |  2 +-
 .../com/gameware/game/states/ViewHighScoreState.java   |  2 +-
 .../com/gameware/game/states/ViewTournamentState.java  |  6 +++---
 20 files changed, 30 insertions(+), 32 deletions(-)
 rename frontend/core/src/com/gameware/game/states/{MenuStateTemplate.java => MenuStateUnion.java} (98%)
 rename frontend/core/src/com/gameware/game/states/{PlayStateTemplate.java => PlayStateUnion.java} (98%)

diff --git a/frontend/core/src/com/gameware/game/GameWare.java b/frontend/core/src/com/gameware/game/GameWare.java
index 10918e9..ee8a009 100644
--- a/frontend/core/src/com/gameware/game/GameWare.java
+++ b/frontend/core/src/com/gameware/game/GameWare.java
@@ -16,7 +16,7 @@ import com.gameware.game.models.Player;
 import com.gameware.game.states.GameStateManager;
 import com.gameware.game.states.LoginState;
 import com.gameware.game.states.MenuState;
-import com.gameware.game.states.PlayStateTemplate;
+import com.gameware.game.states.PlayStateUnion;
 
 import java.io.IOException;
 import java.lang.reflect.Constructor;
@@ -44,7 +44,7 @@ public class GameWare extends ApplicationAdapter {
 	private Player player;
 	private List<Game> games = new ArrayList<>();
 
-	private Map<String, PlayStateTemplate> gameIdToPlayState = new HashMap<>();
+	private Map<String, PlayStateUnion> gameIdToPlayState = new HashMap<>();
 
 	//Singleton (lazy initialization)
 	private GameWare(){ }
@@ -117,11 +117,11 @@ public class GameWare extends ApplicationAdapter {
 		return games;
 	}
 
-	public Map<String, PlayStateTemplate> getGameIdToPlayState(){
+	public Map<String, PlayStateUnion> getGameIdToPlayState(){
 		return gameIdToPlayState;
 	}
 
-	public void updateGameMap(String id, PlayStateTemplate state){
+	public void updateGameMap(String id, PlayStateUnion state){
 		gameIdToPlayState.put(id, state);
 	}
 
@@ -197,7 +197,7 @@ public class GameWare extends ApplicationAdapter {
 			try {
 				Class cl = Class.forName(className);
 				Constructor con = cl.getConstructor(GameStateManager.class);
-				PlayStateTemplate state = (PlayStateTemplate) con.newInstance(gsm);
+				PlayStateUnion state = (PlayStateUnion) con.newInstance(gsm);
 				gameIdToPlayState.put(id, state);
 			} catch (Exception e) {
 				e.printStackTrace();
diff --git a/frontend/core/src/com/gameware/game/states/BubbleWrapState.java b/frontend/core/src/com/gameware/game/states/BubbleWrapState.java
index 5d449bf..57bb76c 100644
--- a/frontend/core/src/com/gameware/game/states/BubbleWrapState.java
+++ b/frontend/core/src/com/gameware/game/states/BubbleWrapState.java
@@ -7,7 +7,7 @@ import com.gameware.game.sprites.Bubble;
 
 import java.util.ArrayList;
 
-public class BubbleWrapState extends PlayStateTemplate {
+public class BubbleWrapState extends PlayStateUnion {
     private Texture background;
     private Texture unpopped;
     private Texture popped1;
diff --git a/frontend/core/src/com/gameware/game/states/ColorRushState.java b/frontend/core/src/com/gameware/game/states/ColorRushState.java
index ee8adc4..fe4283d 100644
--- a/frontend/core/src/com/gameware/game/states/ColorRushState.java
+++ b/frontend/core/src/com/gameware/game/states/ColorRushState.java
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-public class ColorRushState extends PlayStateTemplate {
+public class ColorRushState extends PlayStateUnion {
 
     private List<ColorRushTarget> activeTargets;
     private List<ColorRushTarget> previousTargets;
diff --git a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java
index 27469d9..1d5e5f8 100644
--- a/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java
+++ b/frontend/core/src/com/gameware/game/states/CreateJoinTournamentState.java
@@ -26,7 +26,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-public class CreateJoinTournamentState extends MenuStateTemplate {
+public class CreateJoinTournamentState extends MenuStateUnion {
 
 //    Data
     private List<Tournament> tournaments = new ArrayList<>();
diff --git a/frontend/core/src/com/gameware/game/states/CreateNewTournamentState.java b/frontend/core/src/com/gameware/game/states/CreateNewTournamentState.java
index 6c59b69..8a8ee1f 100644
--- a/frontend/core/src/com/gameware/game/states/CreateNewTournamentState.java
+++ b/frontend/core/src/com/gameware/game/states/CreateNewTournamentState.java
@@ -27,7 +27,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-public class CreateNewTournamentState extends MenuStateTemplate {
+public class CreateNewTournamentState extends MenuStateUnion {
 
 //    Data
     private List<Game> games;
diff --git a/frontend/core/src/com/gameware/game/states/FinishedTournamentState.java b/frontend/core/src/com/gameware/game/states/FinishedTournamentState.java
index 8bdd401..922e38d 100644
--- a/frontend/core/src/com/gameware/game/states/FinishedTournamentState.java
+++ b/frontend/core/src/com/gameware/game/states/FinishedTournamentState.java
@@ -18,7 +18,7 @@ import com.gameware.game.models.Tournament;
 import java.util.ArrayList;
 import java.util.List;
 
-public class FinishedTournamentState extends MenuStateTemplate {
+public class FinishedTournamentState extends MenuStateUnion {
 
 //    Data
     private Tournament tournament;
diff --git a/frontend/core/src/com/gameware/game/states/FruitSlicerState.java b/frontend/core/src/com/gameware/game/states/FruitSlicerState.java
index 25e3e86..80bf25d 100644
--- a/frontend/core/src/com/gameware/game/states/FruitSlicerState.java
+++ b/frontend/core/src/com/gameware/game/states/FruitSlicerState.java
@@ -12,7 +12,7 @@ import com.gameware.game.sprites.SlicingCircle;
 import java.util.ArrayList;
 import java.util.List;
 
-public class FruitSlicerState extends PlayStateTemplate {
+public class FruitSlicerState extends PlayStateUnion {
     private int totalFruitsCut = 0;
     private float startingEmitFrequency = 1f;
     private float endingEmitFrequency = 0.2f;
diff --git a/frontend/core/src/com/gameware/game/states/LoginState.java b/frontend/core/src/com/gameware/game/states/LoginState.java
index 1c646a4..2b35a1f 100644
--- a/frontend/core/src/com/gameware/game/states/LoginState.java
+++ b/frontend/core/src/com/gameware/game/states/LoginState.java
@@ -2,7 +2,6 @@ package com.gameware.game.states;
 
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.Input;
-import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.InputListener;
@@ -19,7 +18,7 @@ import com.gameware.game.sprites.LoadingText;
 import java.io.IOException;
 import java.util.NoSuchElementException;
 
-public class LoginState extends MenuStateTemplate {
+public class LoginState extends MenuStateUnion {
 
 //    Labels
     private final Label titleLabel = new Label("GameWare", skin, "big");
diff --git a/frontend/core/src/com/gameware/game/states/MenuState.java b/frontend/core/src/com/gameware/game/states/MenuState.java
index c3777c9..4d3972c 100644
--- a/frontend/core/src/com/gameware/game/states/MenuState.java
+++ b/frontend/core/src/com/gameware/game/states/MenuState.java
@@ -2,7 +2,6 @@ package com.gameware.game.states;
 
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.Input;
-import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
 import com.badlogic.gdx.graphics.g2d.TextureRegion;
@@ -16,7 +15,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
 import com.gameware.game.GameWare;
 import com.gameware.game.sprites.LoadingText;
 
-public class MenuState extends MenuStateTemplate{
+public class MenuState extends MenuStateUnion {
 
 //    Labels
     private final Label titleLabel = new Label("GameWare", skin, "big");
diff --git a/frontend/core/src/com/gameware/game/states/MenuStateTemplate.java b/frontend/core/src/com/gameware/game/states/MenuStateUnion.java
similarity index 98%
rename from frontend/core/src/com/gameware/game/states/MenuStateTemplate.java
rename to frontend/core/src/com/gameware/game/states/MenuStateUnion.java
index 80700b7..6c5b77f 100644
--- a/frontend/core/src/com/gameware/game/states/MenuStateTemplate.java
+++ b/frontend/core/src/com/gameware/game/states/MenuStateUnion.java
@@ -18,7 +18,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
 import com.badlogic.gdx.utils.Align;
 import com.gameware.game.GameWare;
 
-public abstract class MenuStateTemplate extends State{
+public abstract class MenuStateUnion extends State{
 
     //    Font
     protected final float fontScale = 3f;
@@ -55,7 +55,7 @@ public abstract class MenuStateTemplate extends State{
     protected Sound checkBoxSound;
 
 
-    public MenuStateTemplate(GameStateManager gsm){
+    public MenuStateUnion(GameStateManager gsm){
         super(gsm);
         skin.getFont("font").getData().setScale(fontScale);
 
diff --git a/frontend/core/src/com/gameware/game/states/OptionsState.java b/frontend/core/src/com/gameware/game/states/OptionsState.java
index eb13b34..495cd0b 100644
--- a/frontend/core/src/com/gameware/game/states/OptionsState.java
+++ b/frontend/core/src/com/gameware/game/states/OptionsState.java
@@ -12,7 +12,7 @@ import com.badlogic.gdx.utils.Scaling;
 import com.gameware.game.GameWare;
 
 
-public class OptionsState extends MenuStateTemplate {
+public class OptionsState extends MenuStateUnion {
 
 //    Labels
     private final Label titleLabel = new Label("Options", skin, "big");
diff --git a/frontend/core/src/com/gameware/game/states/PauseState.java b/frontend/core/src/com/gameware/game/states/PauseState.java
index 2dbd72f..3ee7725 100644
--- a/frontend/core/src/com/gameware/game/states/PauseState.java
+++ b/frontend/core/src/com/gameware/game/states/PauseState.java
@@ -16,7 +16,7 @@ import java.util.List;
 public class PauseState extends State {
 
 //    Data
-    private PlayStateTemplate pausedGame;
+    private PlayStateUnion pausedGame;
 
 //    Textures
     private Texture background;
@@ -40,7 +40,7 @@ public class PauseState extends State {
     private LoadingText loadingText;
 
 
-    public PauseState(GameStateManager gsm, PlayStateTemplate pausedGame) {
+    public PauseState(GameStateManager gsm, PlayStateUnion pausedGame) {
         super(gsm);
 
         this.background = new Texture(Gdx.files.internal("pause/PauseBackground.jpg"));
diff --git a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java b/frontend/core/src/com/gameware/game/states/PlayStateUnion.java
similarity index 98%
rename from frontend/core/src/com/gameware/game/states/PlayStateTemplate.java
rename to frontend/core/src/com/gameware/game/states/PlayStateUnion.java
index 7f7ed58..ec05671 100644
--- a/frontend/core/src/com/gameware/game/states/PlayStateTemplate.java
+++ b/frontend/core/src/com/gameware/game/states/PlayStateUnion.java
@@ -26,7 +26,7 @@ import java.io.IOException;
 import java.util.List;
 
 
-public abstract class PlayStateTemplate extends State {
+public abstract class PlayStateUnion extends State {
 
 //    Data
     private Round round = null;
@@ -51,7 +51,7 @@ public abstract class PlayStateTemplate extends State {
     private boolean currentScoreVisible = true;
 
 
-    public PlayStateTemplate(GameStateManager gsm){
+    public PlayStateUnion(GameStateManager gsm){
         super(gsm);
 
         // Default pause button (black color)
diff --git a/frontend/core/src/com/gameware/game/states/ScoreState.java b/frontend/core/src/com/gameware/game/states/ScoreState.java
index bf1c608..35b8b7e 100644
--- a/frontend/core/src/com/gameware/game/states/ScoreState.java
+++ b/frontend/core/src/com/gameware/game/states/ScoreState.java
@@ -11,7 +11,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table;
 import com.badlogic.gdx.utils.Align;
 import com.gameware.game.GameWare;
 
-public class ScoreState extends MenuStateTemplate {
+public class ScoreState extends MenuStateUnion {
 
 //    Data
     private State nextState;
diff --git a/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java b/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java
index 0611f81..29b9b83 100644
--- a/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java
+++ b/frontend/core/src/com/gameware/game/states/SinglePlayerSelectGameState.java
@@ -17,7 +17,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-public class SinglePlayerSelectGameState extends MenuStateTemplate {
+public class SinglePlayerSelectGameState extends MenuStateUnion {
 
 //    Data
     private List<Game> games = new ArrayList<>();
@@ -124,7 +124,7 @@ public class SinglePlayerSelectGameState extends MenuStateTemplate {
 
         @Override
         public void clicked(InputEvent event, float x, float y) {
-            Map<String, PlayStateTemplate> map = GameWare.getInstance().getGameIdToPlayState();
+            Map<String, PlayStateUnion> map = GameWare.getInstance().getGameIdToPlayState();
             State s = map.get(game.getId());
             handleGameBtnClick(s);
         };
diff --git a/frontend/core/src/com/gameware/game/states/State.java b/frontend/core/src/com/gameware/game/states/State.java
index 30353c0..abcdafa 100644
--- a/frontend/core/src/com/gameware/game/states/State.java
+++ b/frontend/core/src/com/gameware/game/states/State.java
@@ -10,7 +10,7 @@ import com.gameware.game.GameWare;
 
 public abstract class State {
 
-//    Common variables between MenuStateTemplate and PlayStateTemplate
+//    Common variables between MenuStateUnion and PlayStateUnion
 
 //    Data
     protected GameStateManager gsm;
diff --git a/frontend/core/src/com/gameware/game/states/TournamentHighScoreState.java b/frontend/core/src/com/gameware/game/states/TournamentHighScoreState.java
index 2ff5fc0..1aefbcd 100644
--- a/frontend/core/src/com/gameware/game/states/TournamentHighScoreState.java
+++ b/frontend/core/src/com/gameware/game/states/TournamentHighScoreState.java
@@ -17,7 +17,7 @@ import com.gameware.game.models.Tournament;
 import java.util.ArrayList;
 import java.util.List;
 
-public class TournamentHighScoreState extends MenuStateTemplate{
+public class TournamentHighScoreState extends MenuStateUnion {
 
 //    Data
     private Tournament tournament;
diff --git a/frontend/core/src/com/gameware/game/states/ViewHighScoreForGameState.java b/frontend/core/src/com/gameware/game/states/ViewHighScoreForGameState.java
index 4829afd..42d1c81 100644
--- a/frontend/core/src/com/gameware/game/states/ViewHighScoreForGameState.java
+++ b/frontend/core/src/com/gameware/game/states/ViewHighScoreForGameState.java
@@ -18,7 +18,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-public class ViewHighScoreForGameState extends MenuStateTemplate {
+public class ViewHighScoreForGameState extends MenuStateUnion {
 
 //    Data
     private String playerId = GameWare.getInstance().getPlayer().getId();
diff --git a/frontend/core/src/com/gameware/game/states/ViewHighScoreState.java b/frontend/core/src/com/gameware/game/states/ViewHighScoreState.java
index 0439b88..a327966 100644
--- a/frontend/core/src/com/gameware/game/states/ViewHighScoreState.java
+++ b/frontend/core/src/com/gameware/game/states/ViewHighScoreState.java
@@ -20,7 +20,7 @@ import com.gameware.game.sprites.LoadingText;
 
 import java.io.IOException;
 
-public class ViewHighScoreState extends MenuStateTemplate {
+public class ViewHighScoreState extends MenuStateUnion {
 
 //    Data
     private List<Game> games = new ArrayList<>();
diff --git a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java
index 5a41fd0..fe649e3 100644
--- a/frontend/core/src/com/gameware/game/states/ViewTournamentState.java
+++ b/frontend/core/src/com/gameware/game/states/ViewTournamentState.java
@@ -24,7 +24,7 @@ import com.gameware.game.sprites.LoadingText;
 import java.io.IOException;
 import java.util.List;
 
-public class ViewTournamentState extends MenuStateTemplate {
+public class ViewTournamentState extends MenuStateUnion {
 
 //    Data
     private Tournament tournament;
@@ -108,7 +108,7 @@ public class ViewTournamentState extends MenuStateTemplate {
         currentRoundTable.pad(padding);
         currentRoundTable.setBackground(backgroundTableBlueRounded);
         currentRoundTable.add(new Label("This round:\n\n"+gameName,skin)).space(spacingLittle);
-        PlayStateTemplate state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
+        PlayStateUnion state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
         currentRoundTable.add(new Image(state.getScreenshot())).width(imageWidthAndHeigh).height(imageWidthAndHeigh).spaceBottom(spacingMedium).colspan(2);
         rootTable.add(currentRoundTable).maxHeight(Gdx.graphics.getHeight()/5).colspan(2);
         rootTable.row();
@@ -273,7 +273,7 @@ public class ViewTournamentState extends MenuStateTemplate {
 
     private void handlePlayBtnClick(){
         if(GameWare.getInstance().isSoundEffectsOn()){ buttonPressSound.play(); }
-        PlayStateTemplate state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
+        PlayStateUnion state = GameWare.getInstance().getGameIdToPlayState().get(round.getGameId());
         state.setTournament(tournament);
         state.setRound(round);
         gsm.set(state);
-- 
GitLab