Commit 773b7473 authored by Anders H. Rebner's avatar Anders H. Rebner
Browse files

Cleanup

parent 678c2065
......@@ -14,10 +14,10 @@ public class GameController {
private final Game model;
private final PlayView view;
private StarPiece activePiece; // Previously clicked piece
private Vector3 previousCoordinateClicked; // Previously clicked coordinate
private StarPiece activePiece; // Previously clicked piece
private Vector3 previousCoordinateClicked; // Previously clicked coordinate
private final List<List<Float>> playerNameTextFieldCoordinates; // Coordinates of playernames
private final PlayerController playerController;
private final List<List<Float>> playerNameTextFieldCoordinates;
public GameController(Game model, PlayView view, PlayerController playerController) {
this.model = model;
......@@ -27,11 +27,11 @@ public class GameController {
this.activePiece = null;
this.previousCoordinateClicked = null;
// Get used boardslots and coordinates to place name of players
// Get used boardslots and coordinates to place playernames
List<Integer> usedBoardSlots = this.model.getUsedBoardSlots();
playerNameTextFieldCoordinates = this.model.getPlayerNameCoordinates(this.view.hex_side_length);
// Initialize pieces, place playernames and place turn-indicator
// Initialize pieces, place playernames, turn-indicator and leave-button
this.view.initializePieces(this.model.getStartFieldCoordinates());
this.view.placePlayerNames(usedBoardSlots, playerNameTextFieldCoordinates);
this.view.placeTurnIndicator(playerNameTextFieldCoordinates.get(this.model.getPlayerTurnSlot()));
......@@ -55,6 +55,7 @@ public class GameController {
activePiece = this.view.getPiece(cubeCoordinates);
activePiece.setRotateHead(true);
previousCoordinateClicked = cubeCoordinates;
this.view.placePossibleMoves(model.getPossibleMoves(previousCoordinateClicked));
}
......@@ -64,10 +65,14 @@ public class GameController {
if (this.model.movePiece(previousCoordinateClicked, cubeCoordinates, playerController.getPlayer().getID(), this)) {
this.view.movePiece(activePiece, cubeCoordinates);
activePiece.setRotateHead(false);
activePiece = null;
playerController.getNetWorkController().sendToServer(new cPlayerPieceMove(previousCoordinateClicked, cubeCoordinates, playerController.getLobby().getID(), playerController.getPlayer().getID()));
// Reset previously clicked piece and coordinate
activePiece = null;
previousCoordinateClicked = null;
// Remove possible move indicators and place turn indicator at next player
this.view.removePossibleMoves();
this.view.placeTurnIndicator(playerNameTextFieldCoordinates.get(this.model.getPlayerTurnSlot()));
} else {
......@@ -78,7 +83,9 @@ public class GameController {
}
}
// External player moved piece (called by cPlayerPieceMove command)
public void playerMovedPiece(Vector3 fromCoordinates, Vector3 toCoordinates, int playerId) {
// Try to move piece in model. If successful, move piece in view and place turn indicator at next player
if (this.model.movePiece(fromCoordinates, toCoordinates, playerId, this)) {
this.view.moveOtherPlayerPiece(fromCoordinates, toCoordinates);
this.view.placeTurnIndicator(playerNameTextFieldCoordinates.get(this.model.getPlayerTurnSlot()));
......@@ -87,6 +94,14 @@ public class GameController {
}
}
// External player left midgame (called by CLobbyLeave command)
public void setPlayerLeftMidGame(int playerId) {
System.out.println("Player with id " + playerId + " left");
model.setPlayerLeftMidGame(playerId);
setPlayerFinished(playerId, -1);
this.view.placeTurnIndicator(playerNameTextFieldCoordinates.get(model.getPlayerTurnSlot()));
}
public void setPlayerFinished(int playerId, int place) {
int playerIndex;
......@@ -105,12 +120,4 @@ public class GameController {
this.view.removeTurnIndicator();
this.view.placeExitButton();
}
// External, called by CLobbyLeave command
public void setPlayerLeftMidGame(int playerId) {
System.out.println("Other player left, id: " + playerId);
model.setPlayerLeftMidGame(playerId);
setPlayerFinished(playerId, -1);
this.view.placeTurnIndicator(playerNameTextFieldCoordinates.get(model.getPlayerTurnSlot()));
}
}
......@@ -14,16 +14,16 @@ import java.util.Arrays;
public class NetworkController {
private Client client;
private Kryo kryo;
private final Client client;
private final Kryo kryo;
private boolean devMode = false;
private final boolean devMode = false;
public NetworkController(){
this.client = new Client();
client.start();
try {
String IP4_LAN_ADDRESS = "192.168.0.136"; //122 //"192.168.87.20";
String IP4_LAN_ADDRESS = "192.168.0.136";
client.connect(10000, IP4_LAN_ADDRESS, 54555);
} catch (IOException e) {
e.printStackTrace();
......
......@@ -6,27 +6,25 @@ import com.mygdx.game.controllers.commands.*;
import com.mygdx.game.model.Lobby;
import com.mygdx.game.model.Player;
import org.javatuples.Pair;
import java.util.ArrayList;
import java.util.LinkedList;
public class PlayerController {
private NetworkController net;
private LinkedList<Command> receivedCommands;
private Player player; //This is the current player
private Lobby lobby; //Current lobby
private ArrayList<Lobby> lobbies; //List of all lobbies
private final NetworkController net;
private final LinkedList<Command> receivedCommands;
private Player player; // This is the current player
private Lobby lobby; // Current lobby
private ArrayList<Lobby> lobbies; // List of all lobbies
private GameController gameController;
public PlayerController(NetworkController networkController){
net = networkController;
player = new Player(-1);
lobby = new Lobby(-1);
lobbies = new ArrayList<Lobby>();
receivedCommands = new LinkedList<Command>();
lobbies = new ArrayList<>();
receivedCommands = new LinkedList<>();
net.getClient().addListener(new Listener() {
public void received (Connection connection, Object object) {
......@@ -86,12 +84,7 @@ public class PlayerController {
if(lobby==null){
return false;
}
else if(lobby.getID() == -1){
return false;
}
else{
return true;
}
else return lobby.getID() != -1;
}catch (NullPointerException e){
return false;
}
......
......@@ -5,6 +5,7 @@ import java.util.*
import kotlin.math.roundToInt
import kotlin.math.sqrt
// The calculations in the two following functions were found here:
// https://stackoverflow.com/questions/2459402/hexagonal-grid-coordinates-to-pixel-coordinates
fun cubeToPixel(vector: Vector3, hexSideLength: Float = 1F): Array<Float> {
......@@ -23,10 +24,11 @@ fun pixelToCube(x: Float, y: Float, hexSideLength: Float = 1F) : Vector3 {
}
fun cubeCoordinateSetToPixel(cubeCoordinateSet: List<List<Vector3>>, hexSideLength: Float = 1F): List<List<Array<Float>>> {
// Convert to pixel coordinates
val startFieldCoordinatesPixel: MutableList<List<Array<Float>>> = ArrayList()
for (coordinateSet in cubeCoordinateSet) {
val coordinateSetPixel: MutableList<Array<Float>> = ArrayList()
for (coordinate in coordinateSet) {
coordinateSetPixel.add(cubeToPixel(coordinate, hexSideLength))
}
......
......@@ -39,7 +39,7 @@ public class cLobbyLeave extends Command{
System.out.println("Request to leave lobby successful");
playerController.setLobby(new Lobby(-1));
} else {
System.out.println("Somebody left the lobby");
System.out.println("Player with id " + playerId + " left");
GameController gameController = playerController.getGameController();
if (gameController != null) {
......
......@@ -37,7 +37,7 @@ class Game(gameState: GameState, playerIds: LinkedHashSet<Int>) {
}
private fun isLegalMove(fromCoordinates: Vector3, toCoordinates: Vector3): Boolean {
return getGameState()?.getGameMode()?.getPossibleMoves(fromCoordinates)?.contains(toCoordinates) ?: false
return getGameState().getGameMode().getPossibleMoves(fromCoordinates).contains(toCoordinates)
}
fun movePiece(fromCoordinates: Vector3, toCoordinates: Vector3, playerId: Int, gameController: GameController): Boolean {
......@@ -70,8 +70,8 @@ class Game(gameState: GameState, playerIds: LinkedHashSet<Int>) {
}
}
fun getPossibleMoves(fromCoordinates: Vector3): ArrayList<Vector3>? {
return getGameState()?.getGameMode()?.getPossibleMoves(fromCoordinates)
fun getPossibleMoves(fromCoordinates: Vector3): ArrayList<Vector3> {
return getGameState().getGameMode().getPossibleMoves(fromCoordinates)
}
fun getPlayerTurnId(): Int {
......@@ -114,7 +114,7 @@ class Game(gameState: GameState, playerIds: LinkedHashSet<Int>) {
return true
}
fun getGameState(): GameState? {
private fun getGameState(): GameState {
return this.gameState
}
......
......@@ -2,7 +2,7 @@ package com.mygdx.game.model
import com.badlogic.gdx.math.Vector3
//Holds a ruleset and a board
// Holds a ruleset and a board, which combined is a gamemode
class GameMode(rules:AbstractRules, board:AbstractBoard) {
......@@ -31,7 +31,7 @@ class GameMode(rules:AbstractRules, board:AbstractBoard) {
}
private fun getPosition(currentPosition: Vector3, direction: Vector3, numberOfSteps: Int = 1): Vector3 {
var v = currentPosition.cpy()
val v = currentPosition.cpy()
for (i in 1..numberOfSteps) {
v.add(direction)
}
......@@ -39,17 +39,16 @@ class GameMode(rules:AbstractRules, board:AbstractBoard) {
}
private fun isFieldClear(field: Vector3): Boolean {
if (this.board?.fieldExists(field) == false ||
this.board?.fields?.get(field)?.hasPiece() == true) {
if (!this.board.fieldExists(field) || this.board.fields[field]?.hasPiece() == true) {
return false
}
return true
}
private fun isPathJumpable(position: Vector3, direction: Vector3, destination: Vector3): Boolean {
var v = position.cpy().add(direction)
val v = position.cpy().add(direction)
while (v != destination) {
if (isFieldClear(v) || this.board?.fieldExists(v) == false) {
if (isFieldClear(v) || !this.board.fieldExists(v)) {
return false
}
v.add(direction)
......@@ -96,13 +95,13 @@ class GameMode(rules:AbstractRules, board:AbstractBoard) {
// JUMP MOVE
destination = getPosition(position, direction, jumpRange + 1)
var secondaryJumpDirection = getSecondaryJumpDirection(direction)
val secondaryJumpDirection = getSecondaryJumpDirection(direction)
var isPrimaryJumpDirection = true
var jumpable = isPathJumpable(position, direction, destination)
while (jumpable) {
frontier.add(destination.cpy())
var newPosition = destination.cpy()
val newPosition = destination.cpy()
isPrimaryJumpDirection = !isPrimaryJumpDirection
// Sets direction for next possible move
......
package com.mygdx.game.model
import com.mygdx.game.model.gamemodes.rules.DefaultRules
/*
Holds the state of the game and all data related to this.
*/
......@@ -30,7 +28,7 @@ class GameState(gameMode: GameMode) {
return rules
}
fun getGameMode(): GameMode? {
fun getGameMode(): GameMode {
return this.gameMode
}
......
package com.mygdx.game.model;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashSet;
public class Lobby {
......@@ -16,14 +15,14 @@ public class Lobby {
public Lobby(int ID){
this.ID = ID;
players = new ArrayList<Player>();
players = new ArrayList<>();
}
public Lobby(int ID, String name, int MAX_PLAYERS){
this.ID = ID;
this.name = name;
this.MAX_PLAYERS = MAX_PLAYERS;
players = new ArrayList<Player>();
players = new ArrayList<>();
}
public int getID(){ return ID; }
......
......@@ -4,10 +4,10 @@ import com.badlogic.gdx.math.Vector3
abstract class AbstractBoard {
var fields = HashMap<Vector3, Field>()
var fields = HashMap<Vector3, Field>() // Hashmap containing all fields
abstract fun computeFields() // Computes all fields on the board
abstract fun fieldExists(coordinates: Vector3): Boolean
abstract fun placePiecesAtStart(rules: AbstractRules, playerIds: HashSet<Int>)
abstract fun movePiece(fromCoordinates: Vector3, toCoordinates: Vector3): Boolean
abstract fun computeFields() // Computes all fields on the board
abstract fun fieldExists(coordinates: Vector3): Boolean // Returns whether a field exists on board
abstract fun placePiecesAtStart(rules: AbstractRules, playerIds: HashSet<Int>) // Places pieces at startfields
abstract fun movePiece(fromCoordinates: Vector3, toCoordinates: Vector3): Boolean // Moves piece
}
\ No newline at end of file
......@@ -9,7 +9,6 @@ abstract class AbstractRules {
abstract var moveRange: Int // How far a piece can be moved
abstract var jumpRange: Int // How many pieces a piece can jump over
abstract fun getPlayerStartfields(boardSlot: Int) : List<Vector3> // Returns a list of startfields for a given player
abstract fun getPlayerTargetFields(boardSlot: Int) : List<Vector3> // Returns a list of targetfields for a given player
abstract fun generateStartFields(playerCount: Int = 6): List<List<Vector3>> // Returns a list with lists of startfields
......
......@@ -34,18 +34,15 @@ public class CinematicView extends AbstractView {
private final Image exhaustImage;
private final AnimatedSprite countDownAnimationSprite;
private ArrayList<AnimatedSprite> lobbyAvatars;
private final ArrayList<AnimatedSprite> lobbyAvatars;
private final float keyframe1;
private final float keyframe2;
private final float keyframe3;
private final float keyframe4;
private final Music cinematicSound;
private float fadeInVolume;
private TextureAtlas cloudAtlas;
private TextureAtlas countDownAtlas;
private AnimatedSprite cloudSprite;
private final AnimatedSprite cloudSprite;
private float updateSpritesTimer;
private float updateAvatarFrequency = 0.120f;
private float timer = 0;
private final Camera cam;
......@@ -59,7 +56,7 @@ public class CinematicView extends AbstractView {
rocketImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET_SMALL.path, LobbyAssets.ROCKET_SMALL.classType));
rocketImage.setPosition(1556, 360);
countDownAtlas = (TextureAtlas)assetManager.get(CinematicAssets.COUNT_DOWN_ATLAS.path, CinematicAssets.COUNT_DOWN_ATLAS.classType);
TextureAtlas countDownAtlas = (TextureAtlas) assetManager.get(CinematicAssets.COUNT_DOWN_ATLAS.path, CinematicAssets.COUNT_DOWN_ATLAS.classType);
cam = stage.getCamera();
cam.position.set(rocketImage.getX()+rocketImage.getWidth()/2, cam.viewportHeight/2, 0);
......@@ -87,7 +84,7 @@ public class CinematicView extends AbstractView {
cinematicSound = (Music) assetManager.get(CinematicAssets.CINEMATIC_AUDIO.path, CinematicAssets.CINEMATIC_AUDIO.classType);
cloudAtlas = (TextureAtlas) assetManager.get(CinematicAssets.CLOUD_ATLAS.path, CinematicAssets.CLOUD_ATLAS.classType);
TextureAtlas cloudAtlas = (TextureAtlas) assetManager.get(CinematicAssets.CLOUD_ATLAS.path, CinematicAssets.CLOUD_ATLAS.classType);
TextureRegion texReg = cloudAtlas.findRegion("Cloud1");
cloudSprite = new AnimatedSprite(cloudAtlas, texReg, "Cloud", 8);
cloudSprite.setPosition(774+lobbyImage.getWidth()/2, 140);
......@@ -106,8 +103,6 @@ public class CinematicView extends AbstractView {
keyframe2 = 2.1f*1.92f;
keyframe3 = 3.15f*1.92f;
keyframe4 = 3.3f*1.92f;
}
public CinematicView(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin){
......@@ -146,7 +141,6 @@ public class CinematicView extends AbstractView {
stage.addActor(lobbyImage);
stage.addActor(exhaustImage);
stage.addActor(rocketImage);
}
......@@ -164,8 +158,8 @@ public class CinematicView extends AbstractView {
}
else{
updateSpritesTimer+= dt;
float updateAvatarFrequency = 0.120f;
if(0<= timer && timer <= keyframe1){
//System.out.println("KEYFRAME 1!!");
for(AnimatedSprite lobbyAvatar : lobbyAvatars){
if(updateSpritesTimer >= updateAvatarFrequency) {
lobbyAvatar.updateTexture();
......@@ -174,7 +168,6 @@ public class CinematicView extends AbstractView {
}
}
if(keyframe1 <= timer && timer <= keyframe2){
//System.out.println("KEYFRAME 2!!");
if(onlyOnce1){
cloudSprite.setAlpha(1);
countDownAnimationSprite.updateTexture();
......@@ -196,7 +189,6 @@ public class CinematicView extends AbstractView {
rocketImage.setPosition(rocketImage.getX(), rocketImage.getY()+3);
exhaustImage.setPosition(exhaustImage.getX(), exhaustImage.getY()+3);
cam.position.set(rocketImage.getX(), rocketImage.getY(), 0);
//System.out.println("KEYFRAME 3!!");
}
if(keyframe3 <= timer && timer <= keyframe4){
if(onlyOnce3) {
......@@ -205,7 +197,6 @@ public class CinematicView extends AbstractView {
}
rocketImage.setPosition(rocketImage.getX(), rocketImage.getY()+50);
exhaustImage.setPosition(exhaustImage.getX(), exhaustImage.getY()+50);
//System.out.println("KEYFRAME 4!!");
cloudSpriteAlpha -= dt*2;
cloudSprite.setAlpha(cloudSpriteAlpha);
}
......@@ -219,8 +210,6 @@ public class CinematicView extends AbstractView {
cloudSprite.updateTexture();
updateSpritesTimer = 0;
}
//rocketImage.setPosition(rocketImage.getX(), rocketImage.getY()+3);
//exhaustImage.setPosition(exhaustImage.getX(), exhaustImage.getY()+3);
timer += dt;
}
}
......@@ -238,7 +227,6 @@ public class CinematicView extends AbstractView {
countDownAnimationSprite.draw(stage.getBatch());
cloudSprite.draw(stage.getBatch());
stage.getBatch().end();
}
......
......@@ -44,52 +44,46 @@ public class LobbyView extends AbstractView {
private final Music currentSong;
private final TextureAtlas portraitAtlas;
private Button createLobbyButton;
private Button findLobbyButton;
private Button joinLobbyButton;
private Button lobbyBackButton;
private Button lobbyListRefreshButton;
private Button lobbyRefreshButton;
private Button lobbyListBackButton;
private Button startLobbyButton;
private final Button createLobbyButton;
private final Button findLobbyButton;
private final Button joinLobbyButton;
private final Button lobbyBackButton;
private final Button lobbyListRefreshButton;
private final Button lobbyRefreshButton;
private final Button lobbyListBackButton;
private final Button startLobbyButton;
private float updateAvatarTimer = 0;
private float updateAvatarFrequency = 0.120f; //update every 250ms
private float refreshLobbyTimer = 1;
private float touchSensitivity = 0.1f;
private float fadeOutVolume = 0;
private Image backgroundImage;
private AnimatedSprite mrServer;
private Image mrServerNameImage;
private Image exhaustImage;
private Image lobbyListBubbleImage;
private Image lobbyListBubblePointerImage;
private Image rocketImage;
private final Image backgroundImage;
private final AnimatedSprite mrServer;
private final Image lobbyListBubbleImage;
private Label mrServerBubbleLabel;
private Label outputLabel;
private final Label mrServerBubbleLabel;
private final Label outputLabel;
private Sound buttonClickAudio;
private final Sound buttonClickAudio;
private TextField lobbyCreateTextField;
private final TextField lobbyCreateTextField;
private Camera camera;
private final Camera camera;
private ImageButton playerReadyCheckButton;
private final ImageButton playerReadyCheckButton;
private SelectBox<Integer> lobbyCreateSizeSelectBox;
private final SelectBox<Integer> lobbyCreateSizeSelectBox;
private ScrollPane scrollPane;
private List<String> lobbyListStrings;
private HashMap<String, Integer> getLobbyByStringHashMap;
private Image lobbyImage;
private final Image lobbyImage;
private ArrayList<AnimatedSprite> lobbyAvatars = new ArrayList<>();
private final ArrayList<AnimatedSprite> lobbyAvatars = new ArrayList<>();
private ArrayList<Image> playerReadyImages = new ArrayList<>();
private ArrayList<Label> lobbyLabels= new ArrayList<>();
private final ArrayList<Image> playerReadyImages = new ArrayList<>();
private final ArrayList<Label> lobbyLabels= new ArrayList<>();
private final HashMap<Integer, String> availableAvatarsHashMap;
public LobbyView(GameViewManager gvm, final PlayerController playerController, AssetManager assetManager, final Stage stage, Skin skin, HashMap<Integer,String> availableAvatarsHashMap, Music currentSong) {
......@@ -116,20 +110,20 @@ public class LobbyView extends AbstractView {
assetManager.load(asset.path, asset.classType);
}
Image playerReadyCheck = new Image((Texture) assetManager.get(LobbyAssets.PLAYER_READY_CHECK.path, Texture.class));
Image playerReadyCheck = new Image(assetManager.get(LobbyAssets.PLAYER_READY_CHECK.path, Texture.class));
playerReadyCheckButton = new ImageButton(playerReadyCheck.getDrawable());
playerReadyCheckButton.setPosition(col_width*6, row_height*2);
backgroundImage = new Image((Texture) assetManager.get(LobbyAssets.BACKGROUND.path, LobbyAssets.BACKGROUND.classType));
stage.getViewport().setWorldSize(backgroundImage.getWidth(), backgroundImage.getHeight());
rocketImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET_SMALL.path, LobbyAssets.ROCKET_SMALL.classType));
Image rocketImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET_SMALL.path, LobbyAssets.ROCKET_SMALL.classType));
rocketImage.setPosition(1556, 360);
exhaustImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET_EXHAUST.path, LobbyAssets.ROCKET_EXHAUST.classType));
Image exhaustImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET_EXHAUST.path, LobbyAssets.ROCKET_EXHAUST.classType));
exhaustImage.setSize(rocketImage.getHeight()/6, rocketImage.getHeight()/2);
exhaustImage.setPosition(rocketImage.getX()+rocketImage.getWidth()/2-exhaustImage.getWidth()/2, rocketImage.getY()-exhaustImage.getHeight());
exhaustImage.setPosition(rocketImage.getX()+ rocketImage.getWidth()/2- exhaustImage.getWidth()/2, rocketImage.getY()- exhaustImage.getHeight());
exhaustImage.setColor(1, 1, 1, 0);
......@@ -142,8 +136,8 @@ public class LobbyView extends AbstractView {
mrServer.setOrigin(0,0 );
mrServer.setOriginBasedPosition(190, 1);
mrServerNameImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_NAME.path, LobbyAssets.MR_SERVER_NAME.classType));
mrServerNameImage.setPosition(180+mrServerNameImage.getWidth()/2, 360);
Image mrServerNameImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_NAME.path, LobbyAssets.MR_SERVER_NAME.classType));
mrServerNameImage.setPosition(180+ mrServerNameImage.getWidth()/2, 360);
lobbyImage = new Image((Texture) assetManager.get(LobbyAssets.LOBBY.path, LobbyAssets.LOBBY.classType));
lobbyImage.setPosition(774, 192);
......@@ -151,10 +145,10 @@ public class LobbyView extends AbstractView {
lobbyListBubbleImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_BUBBLE_SQUARE.path, LobbyAssets.MR_SERVER_BUBBLE_SQUARE.classType));
lobbyListBubbleImage.setPosition(29.535f, 4328-3930);
lobbyListBubblePointerImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_BUBBLE_POINTER.path, LobbyAssets.MR_SERVER_BUBBLE_POINTER.classType));
lobbyListBubblePointerImage.setPosition(lobbyListBubbleImage.getX()+lobbyListBubblePointerImage.getWidth()*1.25f, lobbyListBubbleImage.getY()-lobbyListBubblePointerImage.getHeight()+2);
Image lobbyListBubblePointerImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_BUBBLE_POINTER.path, LobbyAssets.MR_SERVER_BUBBLE_POINTER.classType));
lobbyListBubblePointerImage.setPosition(lobbyListBubbleImage.getX()+ lobbyListBubblePointerImage.getWidth()*1.25f, lobbyListBubbleImage.getY()- lobbyListBubblePointerImage.getHeight()+2);
outputLabel = new Label("Press a Button",skin,"black");
outputLabel = new Label("",skin,"black");
outputLabel.setSize(Gdx.graphics.getWidth(),row_height);
outputLabel.setPosition(col_width*0.25f,row_height*11);
outputLabel.setAlignment(Align.topLeft);
......@@ -492,7 +486,6 @@ public class LobbyView extends AbstractView {
ArrayList<Lobby> lobbyList = playerController.getLobbyList();
System.out.println("Lobby loaded " + lobbyList + " Number of available lobbies are " + lobbyList.size());
System.out.println("LobbyCount AFTER" + lobbyList.size());