diff --git a/CheckersClient/android/assets/Menu/1x/LobbyMenu@1x.png b/CheckersClient/android/assets/Menu/1x/LobbyMenu@1x.png index e5846c8fca429429a70b90dcf4fd953a5fd9e8d5..801e3b7e3db2427537eb4beab9860b2a712bb35c 100644 Binary files a/CheckersClient/android/assets/Menu/1x/LobbyMenu@1x.png and b/CheckersClient/android/assets/Menu/1x/LobbyMenu@1x.png differ diff --git a/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java b/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java index ee5065b4828f3b9dea012ad197d337e91c0aadbf..77a1e5f99db3805b181021587ee6e54b00f8fb56 100644 --- a/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java +++ b/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java @@ -36,8 +36,6 @@ public class UniCheckersClient extends ApplicationAdapter { public void create () { Gdx.gl.glClearColor(1, 1, 1, 1); - - viewport = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); stage = new Stage(viewport); Gdx.input.setInputProcessor(stage); @@ -64,8 +62,12 @@ public class UniCheckersClient extends ApplicationAdapter { Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); float dt = Gdx.graphics.getDeltaTime(); - gvm.update(dt); //updates view + gvm.handleInput(dt); + gvm.update(dt); gvm.render(dt); + + if(gvm.getStartFadeIn() && !gvm.getStartFadeOut()) gvm.fadeIn(dt); + else if(gvm.getStartFadeOut() && !gvm.getStartFadeIn()) gvm.fadeOut(dt); } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/GameViewManager.java b/CheckersClient/core/src/com/mygdx/game/views/GameViewManager.java index f24c0d27f8ed6dd91872f34f0ea5ef2f1f7c9fe9..154bbc33b5977f585b3de67d398512e8e13f08db 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/GameViewManager.java +++ b/CheckersClient/core/src/com/mygdx/game/views/GameViewManager.java @@ -1,9 +1,6 @@ package com.mygdx.game.views; -import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.badlogic.gdx.scenes.scene2d.Stage; - import java.util.Stack; public class GameViewManager { @@ -27,6 +24,10 @@ public class GameViewManager { views.push(view); } + public void handleInput(float dt){ + views.peek().handleInput(dt); + } + public void update(float dt){ views.peek().update(dt); } @@ -35,4 +36,20 @@ public class GameViewManager { views.peek().render(dt); } + public void fadeIn(float dt){ + views.peek().fadeIn(dt); + } + + public void fadeOut(float dt){ + views.peek().fadeOut(dt); + } + + public boolean getStartFadeIn(){ + return views.peek().getStartFadeIn(); + } + + public boolean getStartFadeOut(){ + return views.peek().getStartFadeOut(); + } + } diff --git a/CheckersClient/core/src/com/mygdx/game/views/LoadingView.java b/CheckersClient/core/src/com/mygdx/game/views/LoadingView.java index b6cfdeae4b4d09d3a1c012b8e1af10247557281f..b2fb3310a276b52120e5c734d11b2054bf593da1 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/LoadingView.java +++ b/CheckersClient/core/src/com/mygdx/game/views/LoadingView.java @@ -1,6 +1,7 @@ package com.mygdx.game.views; import com.badlogic.gdx.assets.AssetManager; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.scenes.scene2d.Stage; @@ -18,8 +19,6 @@ public class LoadingView extends View { private Image loadingBarFillImage = new Image(new Texture("Loading/LoadingBarFill.png")); private Image loadingBarBorderImage = new Image(new Texture("Loading/LoadingBarBorder.png")); private Image loadingBarBackgroundImage = new Image(new Texture("Loading/LoadingBarBackground.png")); - private float animationLoopTimer; - private float animationSpeedTimer; public LoadingView(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin) { super(gvm, playerController, assetManager, stage, skin); @@ -45,15 +44,14 @@ public class LoadingView extends View { } @Override - protected void handleInput() { + public void handleInput(float dt) { } @Override public void update(float dt) { if(assetManager.update()){ - stage.clear(); - gvm.set(new MenuView(gvm, playerController, assetManager, stage, skin)); + startFadeout = true; } else{ loadingBarFillImage.setWidth(assetManager.getProgress()*loadingBarBackgroundImage.getWidth()); @@ -65,9 +63,39 @@ public class LoadingView extends View { stage.draw(); } + @Override + public void fadeIn(float dt) { + stage.getBatch().begin(); + Color c = Color.WHITE; + stage.getBatch().setColor(c.r, c.g, c.b, fadeInAlpha); + fadeInAlpha -= dt/fadeInLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + //stage.getBatch().setColor(c); + stage.getBatch().end(); + + if(fadeInAlpha <= 0){ + startFadeIn = false; + } + } + + @Override + public void fadeOut(float dt) { + stage.getBatch().begin(); + Color c = Color.WHITE; + stage.getBatch().setColor(c.r, c.g, c.b, fadeOutAlpha); + fadeOutAlpha += dt/fadeOutLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + if(fadeOutAlpha >= 1){ + stage.clear(); + startFadeout = false; + gvm.set(new MenuView(gvm, playerController, assetManager, stage, skin)); + } + } + @Override public void dispose() { - // background.dispose(); - //playBtn.dispose(); + stage.dispose(); } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/LobbyPlayTransitionScreen.java b/CheckersClient/core/src/com/mygdx/game/views/LobbyPlayTransitionScreen.java index 73d52a8464bc5a6fab1c89855eabb0f03d7b759f..0b65397d8c7696fe14eac2083baf4e74cddf5407 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/LobbyPlayTransitionScreen.java +++ b/CheckersClient/core/src/com/mygdx/game/views/LobbyPlayTransitionScreen.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.audio.Sound; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.SpriteBatch; @@ -26,6 +27,7 @@ public class LobbyPlayTransitionScreen extends View{ private Image whiteImage; private Image exhaustImage; private Image backgroundImage; + private ArrayList<PlayerAvatar> availableAvatars; protected LobbyPlayTransitionScreen(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin, ArrayList<PlayerAvatar> availableAvatars) { super(gvm, playerController, assetManager, stage, skin); @@ -33,6 +35,7 @@ public class LobbyPlayTransitionScreen extends View{ rocketTexture = (Texture) assetManager.get(LobbyAssets.ROCKET.path, LobbyAssets.ROCKET.classType); exhaustTexture = (Texture) assetManager.get(LobbyAssets.ROCKET_EXHAUST.path, LobbyAssets.ROCKET_EXHAUST.classType); + this.availableAvatars = availableAvatars; backgroundImage = new Image(background); rocketImage = new Image(rocketTexture); rocketImage.setSize(200, 270); @@ -44,28 +47,19 @@ public class LobbyPlayTransitionScreen extends View{ exhaustImage.setPosition(rocketImage.getX()+rocketImage.getWidth()/2-exhaustImage.getWidth()/2, rocketImage.getY()-exhaustImage.getHeight()); exhaustImage.setColor(1, 1, 1, 0); + setFadeColor(Color.BLACK); stage.addActor(backgroundImage); } - @Override - protected void handleInput() { - if(Gdx.input.isKeyPressed(Input.Keys.ESCAPE)){ - } - } + @Override + public void handleInput(float dt) { - private void isGameOver(){ - boolean someCondition = false; - if (someCondition){ - Gdx.app.exit(); - } } @Override public void update(float dt) { stage.act(dt); - isGameOver(); - handleInput(); } @@ -75,15 +69,41 @@ public class LobbyPlayTransitionScreen extends View{ stage.getBatch().draw(background, 0, 0); stage.getBatch().end(); stage.draw(); - } - private void debugDraw(SpriteBatch sb, String text, int xPos, int yPos){ + @Override + public void fadeIn(float dt) { + stage.getBatch().begin(); + Color c = stage.getBatch().getColor(); + stage.getBatch().setColor(c.r, c.g, c.b, fadeOutAlpha); + fadeInAlpha -= dt/fadeInLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + if(fadeInAlpha <= 0){ + startFadeIn = false; + } } @Override - public void dispose() { + public void fadeOut(float dt) { + stage.getBatch().begin(); + Color c = stage.getBatch().getColor(); + stage.getBatch().setColor(c.r, c.g, c.b, fadeOutAlpha); + fadeOutAlpha += dt/fadeOutLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + if(fadeOutAlpha >= 1){ + stage.clear(); + startFadeout = false; + gvm.set(new PlayView(gvm, playerController, assetManager, stage, skin, availableAvatars)); + } + } + @Override + public void dispose() { + stage.dispose(); } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/LobbyView.java b/CheckersClient/core/src/com/mygdx/game/views/LobbyView.java index ba3e6dabac5767a52f4a996fe07098aa3c3261c7..c4ab7b9b318f2fdbcfd022b7fc8c832a3254a577 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/LobbyView.java +++ b/CheckersClient/core/src/com/mygdx/game/views/LobbyView.java @@ -1,15 +1,20 @@ package com.mygdx.game.views; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Input; +import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.audio.Sound; -import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.Camera; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.math.MathUtils; +import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.InputListener; import com.badlogic.gdx.scenes.scene2d.Stage; +import com.badlogic.gdx.scenes.scene2d.Touchable; import com.badlogic.gdx.scenes.scene2d.ui.Button; import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; @@ -18,9 +23,9 @@ import com.badlogic.gdx.scenes.scene2d.ui.List; import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane; import com.badlogic.gdx.scenes.scene2d.ui.SelectBox; 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; +import com.badlogic.gdx.scenes.scene2d.ui.Touchpad; import com.badlogic.gdx.utils.Align; import com.mygdx.game.controllers.PlayerController; @@ -36,14 +41,7 @@ import java.util.HashMap; public class LobbyView extends View{ - private final ArrayList<Actor> mainUIActors = new ArrayList<>(); - private ScrollPane scroller; - private Table lobbyTable; - - private boolean fadingToBlank = true; - private boolean fadeOut = true; - private boolean startFadeFromWhiteToBlank; - private boolean startRocketTransition; + private final ArrayList<Actor> playerUIWidgets = new ArrayList<>(); private Button createLobbyButton; private Button findLobbyButton; @@ -54,8 +52,9 @@ public class LobbyView extends View{ private Button lobbyListBackButton; private Button startLobbyButton; - private float fadeTransitionLength = 1f; - private float alphaFadeValue = 1; + private float updateAvatarTimer = 0; + private float updateAvatarFrequency = 0.120f; //update every 250ms + private float refreshLobbyTimer = 1; private Image backgroundImage; private PlayerAvatar mrServer; @@ -64,56 +63,54 @@ public class LobbyView extends View{ private Image lobbyListBubbleImage; private Image lobbyListBubblePointerImage; private Image rocketImage; - private Image whiteImage; private Label mrServerBubbleLabel; private Label outputLabel; private Sound buttonClickAudio; - private Texture background; - private Texture rocketTexture; - private Texture exhaustTexture; - private TextField lobbyCreateTextField; - private Image playerReady; + private Camera camera; + private ImageButton playerReadyCheckButton; private SelectBox<Integer> lobbyCreateSizeSelectBox; - private ShapeRenderer shapeRenderer; + + private ScrollPane scrollPane; + private List<String> lobbyListStrings; + private HashMap<String, Integer> getLobbyByStringHashMap; + + private Image lobbyImage; + + private final ArrayList<PlayerAvatar> availableAvatars; + private ArrayList<PlayerAvatar> lobbyAvatars = new ArrayList<>(); + + private ArrayList<Image> playerReadyImages = new ArrayList<>(); + private ArrayList<Label> lobbyLabels= new ArrayList<>(); + public LobbyView(GameViewManager gvm, final PlayerController playerController, AssetManager assetManager, final Stage stage, Skin skin, ArrayList<PlayerAvatar> availableAvatars) { super(gvm, playerController, assetManager, stage, skin); this.availableAvatars = availableAvatars; - Pixmap tablePixmap = new Pixmap(1,1, Pixmap.Format.RGB565); - tablePixmap.setColor(1, 1, 1, 1); - tablePixmap.fill(); - whiteImage = new Image(new Texture(tablePixmap)); - - startFadeFromWhiteToBlank = true; - - background = (Texture) assetManager.get(LobbyAssets.BACKGROUND.path, LobbyAssets.BACKGROUND.classType); - rocketTexture = (Texture) assetManager.get(LobbyAssets.ROCKET.path, LobbyAssets.ROCKET.classType); - exhaustTexture = (Texture) assetManager.get(LobbyAssets.ROCKET_EXHAUST.path, LobbyAssets.ROCKET_EXHAUST.classType); buttonClickAudio = (Sound) assetManager.get(MenuAssets.BUTTON_CLICK_AUDIO.path, MenuAssets.BUTTON_CLICK_AUDIO.classType); + this.camera = stage.getCamera(); - Image playerReady = new Image(assetManager.get(LobbyAssets.PLAYER_READY.path, Texture.class)); - final Image playerReadyCheck = new Image((Texture) assetManager.get(LobbyAssets.PLAYER_READY_CHECK.path, Texture.class)); - + Image playerReadyCheck = new Image((Texture) 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(background); + backgroundImage = new Image((Texture) assetManager.get(LobbyAssets.BACKGROUND.path, LobbyAssets.BACKGROUND.classType)); + stage.getViewport().setWorldSize(backgroundImage.getWidth(), backgroundImage.getHeight()); - rocketImage = new Image(rocketTexture); + rocketImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET.path, LobbyAssets.ROCKET.classType)); rocketImage.setSize(200, 270); rocketImage.setPosition(Gdx.graphics.getWidth()/2+40, 370); rocketImage.setOrigin(0,0); - exhaustImage = new Image(exhaustTexture); + exhaustImage = new Image((Texture) assetManager.get(LobbyAssets.ROCKET_EXHAUST.path, LobbyAssets.ROCKET_EXHAUST.classType)); exhaustImage.setSize(col_width*0.6f, row_height*2f); exhaustImage.setPosition(rocketImage.getX()+rocketImage.getWidth()/2-exhaustImage.getWidth()/2, rocketImage.getY()-exhaustImage.getHeight()); exhaustImage.setColor(1, 1, 1, 0); @@ -127,14 +124,23 @@ public class LobbyView extends View{ ArrayList<Texture> mrServerAnimTextures= new ArrayList<>(Arrays.asList(mrServerAnim1, mrServerAnim2, mrServerAnim3)); mrServer = new PlayerAvatar( mrServerAnimTextures, (Texture) assetManager.get(LobbyAssets.MR_SERVER_PORTRAIT.path, LobbyAssets.MR_SERVER_PORTRAIT.classType), "Mr. Server"); - mrServer.setScale(0.3f, 0.3f); - mrServer.setPosition(col_width*2, row_height*1); - mrServer.setOrigin(0, 0); - mrServerNameImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_PORTRAIT.path, LobbyAssets.MR_SERVER_PORTRAIT.classType)); + //mrServer.setPosition(247.5426f, 1 ); + + mrServer.scale(-0.63f); + 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); + + lobbyImage = new Image((Texture) assetManager.get(LobbyAssets.LOBBY.path, LobbyAssets.LOBBY.classType)); + lobbyImage.setPosition(774, 4320-4127.6141f); - lobbyListBubbleImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_BUBBLE_SQUARE.path, LobbyAssets.MR_SERVER_BUBBLE_SQUARE.classType)); lobbyListBubbleImage.setPosition(col_width*0.25f, row_height*4.5f); + lobbyListBubbleImage = new Image((Texture) assetManager.get(LobbyAssets.MR_SERVER_BUBBLE_SQUARE.path, LobbyAssets.MR_SERVER_BUBBLE_SQUARE.classType)); + lobbyListBubbleImage.setPosition(col_width*0.1f, row_height*4.75f); 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); @@ -145,9 +151,6 @@ public class LobbyView extends View{ outputLabel.setAlignment(Align.topLeft); outputLabel.setFontScale(2); - float xpad = col_width/2; - float ypad = row_height/2; - createLobbyButton = new TextButton("Create Lobby",skin,"small"); createLobbyButton.setSize(col_width*1f,(float)(row_height*0.75)); createLobbyButton.setPosition(lobbyListBubbleImage.getX()+xpad,lobbyListBubbleImage.getY()+ypad); @@ -199,27 +202,25 @@ public class LobbyView extends View{ lobbyCreateSizeSelectBox.setSize(lobbyListBackButton.getWidth(), lobbyListBackButton.getHeight()); backgroundImage.setZIndex(1); - backgroundImage.setPosition(Gdx.graphics.getWidth()/2-backgroundImage.getWidth()/2, 0); + //backgroundImage.setPosition(Gdx.graphics.getWidth()/2-backgroundImage.getWidth()/2, 0); backgroundImage.setOrigin(0,0); - stage.clear(); - stage.addActor(backgroundImage); stage.addActor(outputLabel); stage.addActor(rocketImage); stage.addActor(exhaustImage); + stage.addActor(lobbyImage); stage.addActor(lobbyListBubbleImage); stage.addActor(lobbyListBubblePointerImage); - mainUIActors.add(createLobbyButton); - mainUIActors.add(findLobbyButton); - mainUIActors.add(mrServerBubbleLabel); - for (Actor actor: mainUIActors){ - stage.addActor(actor); + stage.addActor(mrServerNameImage); + + playerUIWidgets.add(createLobbyButton); + playerUIWidgets.add(findLobbyButton); + playerUIWidgets.add(mrServerBubbleLabel); + for (Actor widget: playerUIWidgets){ + stage.addActor(widget); } stage.addActor(outputLabel); // OutputLabel for debugging purposes - whiteImage.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); - whiteImage.setPosition(0,0); - stage.addActor(whiteImage); createLobbyButton.addListener(new InputListener(){ @Override @@ -279,6 +280,7 @@ public class LobbyView extends View{ buttonClickAudio.play(0.8f); Gdx.input.setOnscreenKeyboardVisible(false); stage.unfocusAll(); + Lobby lobby = playerController.getLobby(); try{ if(lobby.getPlayers().size() == 1){ playerController.deleteLobby(lobby.getID()); @@ -290,7 +292,6 @@ public class LobbyView extends View{ }catch(NullPointerException e){ } - showMainLobbyWindow(); } @Override @@ -326,14 +327,16 @@ public class LobbyView extends View{ Gdx.input.setOnscreenKeyboardVisible(false); stage.unfocusAll(); - if(playerController.getLobby() == null){System.out.println("NOT FINDING A LOBBY");} + Lobby lobby = playerController.getLobby(); - if(playerController.getLobby().getPlayers().size() == 1){ - System.out.println("Deleting lobby " + playerController.getLobby().getName()); + if(lobby.getID() == -1){System.out.println("Currently not in a lobby.");} + + if(lobby.getPlayers().size() == 1){ + System.out.println("Deleting lobby " + lobby.getName()); playerController.deleteLobby(lobby.getID()); } else{ - System.out.println("Leaving lobby " + playerController.getLobby().getName()); + System.out.println("Leaving lobby " + lobby.getName()); playerController.leaveLobby(lobby.getID()); } @@ -457,30 +460,12 @@ public class LobbyView extends View{ }); } - private void clearActors(){ - for (Actor actor: mainUIActors){ - actor.remove(); + private void clearUIWidgets(){ + for (Actor widget: playerUIWidgets){ + widget.remove(); } - mainUIActors.clear(); - + playerUIWidgets.clear(); } - private void drawGrid(){ - if(shapeRenderer == null){ - shapeRenderer = new ShapeRenderer(); - } - shapeRenderer.begin(ShapeRenderer.ShapeType.Line); - shapeRenderer.setColor(1, 0, 0, 0.75f); // Red line - for (int i = 0; i < 12; i++) { - shapeRenderer.rect(col_width*i, 0, 1, Gdx.graphics.getHeight()); - shapeRenderer.rect(0, row_height*i, Gdx.graphics.getWidth(), 1); - } - shapeRenderer.end(); - } - - private ScrollPane scrollPane; - private volatile ArrayList<Lobby> currentLobbyList; - private List<String> lobbyListStrings; - private HashMap<String, Integer> getLobbyByStringHashMap; public void lobbyListRefresh(){ Thread thread = new Thread(){ @@ -488,7 +473,7 @@ public class LobbyView extends View{ playerController.setLobbies(null); playerController.lobbyGetList(); while (playerController.getLastCommand() == null) { - System.out.println("Waiting for lobby" + currentLobbyList); + System.out.println("Waiting for lobby list .. "); } ArrayList<Lobby> lobbyList = playerController.getLobbyList(); System.out.println("Lobby loaded " + lobbyList + " Number of available lobbies are " + lobbyList.size()); @@ -496,8 +481,8 @@ public class LobbyView extends View{ //System.out.println("LobbyCount AFTER NUM OF PLAYERS" + lobbyList.get(0).getPlayers().size()); lobbyListStrings = new List(skin, "plain"); - lobbyListStrings.setColor(1f, 1f, 1f, 1); - currentLobbyList = playerController.getLobbyList(); + lobbyListStrings.setColor(Color.BLACK); + ArrayList<Lobby> currentLobbyList = playerController.getLobbyList(); String[] strings; if(getLobbyByStringHashMap == null) getLobbyByStringHashMap = new HashMap<>(); @@ -524,8 +509,8 @@ public class LobbyView extends View{ scrollPane.setSmoothScrolling(false); scrollPane.setTransform(true); - mainUIActors.add(scrollPane); - for (Actor actor: mainUIActors){ + playerUIWidgets.add(scrollPane); + for (Actor actor: playerUIWidgets){ stage.addActor(actor); } } @@ -533,23 +518,23 @@ public class LobbyView extends View{ thread.start(); } private void showCreateLobbyWindow(){ - clearActors(); - mainUIActors.add(lobbyListBackButton); - mainUIActors.add(lobbyCreateTextField); - mainUIActors.add(lobbyCreateSizeSelectBox); - mainUIActors.add(startLobbyButton); + clearUIWidgets(); + playerUIWidgets.add(lobbyListBackButton); + playerUIWidgets.add(lobbyCreateTextField); + playerUIWidgets.add(lobbyCreateSizeSelectBox); + playerUIWidgets.add(startLobbyButton); lobbyListBackButton.setY(startLobbyButton.getY()); - for (Actor actor: mainUIActors){ + for (Actor actor: playerUIWidgets){ stage.addActor(actor); } } private void showLobbyListWindow(){ - clearActors(); - mainUIActors.add(lobbyListBackButton); - mainUIActors.add(lobbyListRefreshButton); - mainUIActors.add(joinLobbyButton); + clearUIWidgets(); + playerUIWidgets.add(lobbyListBackButton); + playerUIWidgets.add(lobbyListRefreshButton); + playerUIWidgets.add(joinLobbyButton); - for (Actor actor: mainUIActors){ + for (Actor actor: playerUIWidgets){ stage.addActor(actor); } lobbyListRefresh(); @@ -579,16 +564,8 @@ public class LobbyView extends View{ float[] player7LabelPos = {col_width*0.5f, row_height*6.8f}; float[] player8LabelPos = {col_width*0.5f, row_height*6.3f}; - private Lobby lobby; - private ArrayList<Player> playersInLobby; ArrayList<float[]> playerPositions= new ArrayList<>(Arrays.asList(player1Pos, player2Pos, player3Pos, player4Pos, player5Pos, player6Pos, player7Pos, player8Pos));; - ArrayList<float[]> playerLabelPositions= new ArrayList<>(Arrays.asList(player1LabelPos, player2LabelPos, player3LabelPos, player4LabelPos, player5LabelPos, player6LabelPos, player7LabelPos, player8LabelPos));; - - private final ArrayList<PlayerAvatar> availableAvatars; - private ArrayList<PlayerAvatar> lobbyAvatars = new ArrayList<>(); - - private ArrayList<Image> playerReadyImages = new ArrayList<>(); - private ArrayList<Label> lobbyLabels= new ArrayList<>(); + ArrayList<float[]> playerLabelPositions= new ArrayList<>(Arrays.asList(player1LabelPos, player2LabelPos, player3LabelPos, player4LabelPos, player5LabelPos, player6LabelPos, player7LabelPos, player8LabelPos)); private void lobbyRefresh(){ if(playerController.getLobby().getID() == -1) { @@ -596,31 +573,27 @@ public class LobbyView extends View{ } else{ lobbyAvatars.clear(); - lobby = playerController.getLobby(); - playersInLobby = lobby.getPlayers(); + Lobby lobby = playerController.getLobby(); if(lobby.getID() == -1 || playerController.getPlayer().getIsPlayerReady()) playerReadyCheckButton.remove(); else stage.addActor(playerReadyCheckButton); for (Label label : lobbyLabels) label.remove(); for (Image image : playerReadyImages) image.remove(); - //System.out.println("My avatar Index: "+ playerController.getPlayer().getIndexAvatar()); - //System.out.println("Number of players in lobby: "+ lobby.getPlayers().size()); - //System.out.printf(">Current Lobby Size:\t%d\n", lobby.getPlayers().size()); - for(int i = 0; i<playersInLobby.size(); i++){ - Player player = playersInLobby.get(i); - //System.out.printf(" >PlayerName:%s\tID:%d\n", player.getPlayerName(), player.getID()); - PlayerAvatar playerAvatar =availableAvatars.get(player.getIndexAvatar()); + for(int i = 0; i<lobby.getPlayers().size(); i++){ + Player player = lobby.getPlayers().get(i); + + PlayerAvatar playerAvatar =availableAvatars.get(player.getIndexAvatar()); playerAvatar.setScale(0.3f, 0.3f); playerAvatar.setOrigin(0, 0); playerAvatar.setPosition(playerPositions.get(i)[0], playerPositions.get(i)[1]); lobbyAvatars.add(playerAvatar); Label label = new Label("Player"+i+":\t%d" + player.getPlayerName() + "\t", skin, "black"); - label.setColor(1, 0, 0, 1); - label.scaleBy(1.5f); - label.setPosition(playerLabelPositions.get(i)[0], playerLabelPositions.get(i)[1]); + label.setColor(Color.BLACK); + label.scaleBy(2f); + label.setPosition(lobbyListBubbleImage.getX()+xpad, lobbyListBubbleImage.getY()+lobbyListBubbleImage.getHeight()*(0.9f-label.getHeight()*i-i*0.05f)); lobbyLabels.add(label); @@ -644,43 +617,30 @@ public class LobbyView extends View{ } - private void showLobbyWindow(){ - clearActors(); - mainUIActors.add(lobbyBackButton); - mainUIActors.add(lobbyRefreshButton); + clearUIWidgets(); + playerUIWidgets.add(lobbyBackButton); + playerUIWidgets.add(lobbyRefreshButton); - for (Actor actor: mainUIActors){ + for (Actor actor: playerUIWidgets){ stage.addActor(actor); } } private void showMainLobbyWindow(){ - clearActors(); - mainUIActors.add(createLobbyButton); - mainUIActors.add(findLobbyButton); - mainUIActors.add(mrServerBubbleLabel); + clearUIWidgets(); + playerUIWidgets.add(createLobbyButton); + playerUIWidgets.add(findLobbyButton); + playerUIWidgets.add(mrServerBubbleLabel); - for (Actor actor: mainUIActors){ + for (Actor actor: playerUIWidgets){ stage.addActor(actor); } } @Override public void dispose() { - /* - background.dispose(); - menuForm.dispose(); - sound.dispose(); - */ - } - - @Override - public void handleInput() { - if(Gdx.input.isTouched()) { - int x = Gdx.input.getX(); - int y = Gdx.input.getY(); - } + stage.dispose(); } @Override @@ -689,66 +649,102 @@ public class LobbyView extends View{ stage.draw(); stage.getBatch().begin(); + for(PlayerAvatar playerAvatar : lobbyAvatars){ - if(updateAvatarTimer>= updateAvatarFrequency){ - playerAvatar.updateTexture(); - } playerAvatar.draw(stage.getBatch()); } - if(updateAvatarTimer>= updateAvatarFrequency){ - mrServer.updateTexture(); - updateAvatarTimer=0; - } mrServer.draw(stage.getBatch()); stage.getBatch().end(); - if(playerController.getLobby().getLobbyGameStarted()){ - if(whiteImage.getStage() != stage){ - stage.addActor(whiteImage); - } - whiteImage.setZIndex(1000); - whiteImage.setColor(1, 1, 1, alphaFadeValue); - alphaFadeValue += dt/(fadeTransitionLength*3); - if(alphaFadeValue >= 1){ - stage.clear(); - stage.addActor(whiteImage); - gvm.set(new LobbyPlayTransitionScreen(gvm, playerController, assetManager, stage, skin, availableAvatars)); - } + drawGrid(); + } + + @Override + public void fadeIn(float dt) { + stage.getBatch().begin(); + Color c = stage.getBatch().getColor(); + stage.getBatch().setColor(c.r, c.g, c.b, fadeInAlpha); + fadeInAlpha -= dt/fadeInLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + + if(fadeInAlpha <= 0){ + startFadeIn = false; } + } - drawGrid(); + @Override + public void fadeOut(float dt) { + stage.getBatch().begin(); + Color c = stage.getBatch().getColor(); + stage.getBatch().setColor(c.r, c.g, c.b, fadeOutAlpha); + fadeOutAlpha += dt/fadeOutLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + if(fadeOutAlpha >= 1){ + stage.clear(); + startFadeout = false; + setFadeColor(Color.BLACK); + gvm.set(new LobbyPlayTransitionScreen(gvm, playerController, assetManager, stage, skin, availableAvatars)); + } } - float updateAvatarTimer = 0; - float updateAvatarFrequency = 0.120f; //update every 250ms - float refreshLobbyTimer = 1; + boolean isDragging = false; + float sensitivity = 0.1f; + + @Override + public void handleInput(float dt) { + if(Gdx.input.justTouched()){ + lastTouch[0] = Gdx.input.getX(); + lastTouch[1] = stage.getViewport().getScreenHeight()-Gdx.input.getY(); + System.out.println("Only once"); + } + if(Gdx.input.isTouched()){ + + float camXPos = camera.position.x + (lastTouch[0]-Gdx.input.getX())*sensitivity; //camera.position.x + (Gdx.input.getX()-lastTouch[0])*sensitivity; + float camYPos = camera.position.y + (-stage.getViewport().getScreenHeight()+Gdx.input.getY()+lastTouch[1])*sensitivity; + + float a = MathUtils.clamp(camXPos, camera.viewportWidth/2, backgroundImage.getWidth()-camera.viewportWidth/2); + float b = MathUtils.clamp(camYPos, camera.viewportHeight/2, backgroundImage.getImageHeight()-camera.viewportHeight/2); + + camera.position.set(a, b, 0); + System.out.println("Multiple times"); + } + } @Override public void update(float dt) { + stage.getCamera().update(); + + updateAvatarTimer+= dt; + refreshLobbyTimer += dt; + + if(updateAvatarTimer>= updateAvatarFrequency){ + for(PlayerAvatar playerAvatar : lobbyAvatars){ + playerAvatar.updateTexture(); + } + mrServer.updateTexture(); + updateAvatarTimer=0; + } if(refreshLobbyTimer >= 1) { lobbyRefresh(); refreshLobbyTimer=0; } - else { - refreshLobbyTimer += dt; - } - if(startFadeFromWhiteToBlank){ - whiteImage.setColor(1, 1, 1, alphaFadeValue); - alphaFadeValue -= dt/fadeTransitionLength; - if(alphaFadeValue <= 0){ - startFadeFromWhiteToBlank = false; - whiteImage.setZIndex(0); - } - } + stage.act(dt); + if(playerController.getLobby().getLobbyGameStarted()){ + startFadeout = true; + } + } - } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/MenuView.java b/CheckersClient/core/src/com/mygdx/game/views/MenuView.java index a42b7b3256d0114e8756509bbe90c8d107596027..ed1fe94c0d30038f8f15639b7ae81f504f06d0ba 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/MenuView.java +++ b/CheckersClient/core/src/com/mygdx/game/views/MenuView.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.audio.Sound; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureRegion; @@ -46,27 +47,19 @@ public class MenuView extends View{ private Music music; - private ShapeRenderer shapeRenderer; - private Sound buttonClickAudio; private Sound transitionAudio; - private Texture background; - private Texture form; private Texture formButtonTex; private TextField usernameTextField; private Label outputLabel; - private Image whiteImage; - private float fadeTransitionLength = 1f; - private float alphaFadeValue = 1; private ImageButton nextAvatarButton; private ImageButton previousAvatarButton; private Image avatarPortraitImage; - private String currentAvatar; private ArrayList<PlayerAvatar> availableAvatars; @@ -112,13 +105,6 @@ public class MenuView extends View{ formButton = new TextButton("Enter",skin,"default"); formButton.setPosition(formImage.getX()+formImage.getWidth()/2 -formButton.getWidth()/2,formImage.getHeight()*0.08f); - Pixmap tablePixmap = new Pixmap(1,1, Pixmap.Format.RGB565); - tablePixmap.setColor(1, 1, 1, 1); - tablePixmap.fill(); - whiteImage = new Image(new Texture(tablePixmap)); - whiteImage.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); - whiteImage.setPosition(0,0); - startFadeFromBlankToWhite = false; startFadeFromWhiteToBlank = true; @@ -209,7 +195,6 @@ public class MenuView extends View{ currentIndexAvatar -= 1; } updateAvatarPortrait(); - outputLabel.setText("PREV AVATAR: current avatar is: " + currentAvatar); return true; } @@ -232,13 +217,15 @@ public class MenuView extends View{ formButton.addListener(new InputListener(){ @Override public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { - if(!usernameTextField.equals("Your name ..")){ + if(!usernameTextField.getText().isEmpty() && usernameTextField.getText().length() >=3 && usernameTextField.getText().length() <= 10){ buttonClickAudio.play(0.70f); transitionAudio.play(0.50f); - startFadeFromBlankToWhite = true; - whiteImage.setZIndex(stage.getActors().size); playerController.playerSetName(usernameTextField.getText()); playerController.updateIndexAvatar(currentIndexAvatar); + startFadeout = true; + } + else{ + outputLabel.setText("Please enter a valid name. Has to be between 3 and 10 characters."); } return true; } @@ -270,7 +257,11 @@ public class MenuView extends View{ stage.addActor(previousAvatarButton); stage.addActor(avatarPortraitImage); stage.addActor(logoImage); - stage.addActor(whiteImage); + } + + @Override + public void handleInput(float dt) { + } private void updateAvatarPortrait(){ @@ -278,67 +269,60 @@ public class MenuView extends View{ avatarPortraitImage.setDrawable(portraitDrawable); } - @Override - public void handleInput() { - - } - @Override public void update(float dt) { assetManager.update(); stage.act(dt); - handleInput(); } @Override public void render(float dt) { Gdx.gl.glClearColor(1, 1, 1, 1); - if(startFadeFromWhiteToBlank){ - whiteImage.setColor(1, 1, 1, alphaFadeValue); - alphaFadeValue -= dt/(fadeTransitionLength)/0.5; - outputLabel.setText("alphaFadeValue: " +alphaFadeValue); - if(alphaFadeValue <= 0){ - startFadeFromWhiteToBlank = false; - whiteImage.setZIndex(0); - } - } - else if(startFadeFromBlankToWhite){ - whiteImage.setColor(1, 1, 1, alphaFadeValue); - alphaFadeValue += dt/fadeTransitionLength; - outputLabel.setText("alphaFadeValue: " +alphaFadeValue); - if(alphaFadeValue >= 1){ - startFadeFromBlankToWhite = false; - gvm.push(new LobbyView(gvm, playerController, assetManager, stage, skin, availableAvatars)); - } - } if(playerController.getPlayer().getID() != -1){ stage.addActor(connectionBarGreenCircle); connectionBarRedCircle.remove(); } + stage.draw(); drawGrid(); } @Override - public void dispose() { - /* - background.dispose(); -<<<<<<< HEAD - menuForm.dispose(); - sound.dispose(); - */ + public void fadeIn(float dt) { + stage.getBatch().begin(); + Color c = Color.WHITE; + stage.getBatch().setColor(c.r, c.g, c.b, fadeInAlpha); + fadeInAlpha -= dt/fadeInLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + + if(fadeInAlpha <= 0){ + startFadeIn = false; + } } - // For debugging purposes only.. - private void drawGrid(){ - shapeRenderer.begin(ShapeRenderer.ShapeType.Line); - shapeRenderer.setColor(1, 0, 0, 1); // Red line - for (int i = 0; i < 12; i++) { - shapeRenderer.rect(col_width*i, 0, 1, Gdx.graphics.getHeight()); - shapeRenderer.rect(0, row_height*i, Gdx.graphics.getWidth(), 1); + @Override + public void fadeOut(float dt) { + stage.getBatch().begin(); + Color c = Color.WHITE; + stage.getBatch().setColor(c.r, c.g, c.b, fadeOutAlpha); + fadeOutAlpha += dt/fadeOutLength; + stage.getBatch().draw(fadeOverlayTexture, 0, 0, col_width*Help_Guides, row_height*Help_Guides); + stage.getBatch().setColor(c); + stage.getBatch().end(); + if(fadeOutAlpha >= 1){ + stage.clear(); + startFadeout = false; + gvm.push(new LobbyView(gvm, playerController, assetManager, stage, skin, availableAvatars)); } - shapeRenderer.end(); + } + + + @Override + public void dispose() { + stage.dispose(); } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/PauseView.java b/CheckersClient/core/src/com/mygdx/game/views/PauseView.java index 700bdf6aab9d9363df366ef517f93f14c34d218f..9c0712a7b7193edec88ee75cdb76d026839ff9de 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/PauseView.java +++ b/CheckersClient/core/src/com/mygdx/game/views/PauseView.java @@ -22,7 +22,7 @@ public class PauseView extends View{ } @Override - protected void handleInput() { + public void handleInput(float dt) { } @@ -39,11 +39,19 @@ public class PauseView extends View{ } @Override - public void dispose() { - background.dispose(); - playBtn.dispose(); + public void fadeIn(float dt) { } + @Override + public void fadeOut(float dt) { + + } + @Override + public void dispose() { + background.dispose(); + playBtn.dispose(); + stage.dispose(); + } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/PlayView.java b/CheckersClient/core/src/com/mygdx/game/views/PlayView.java index da6a209dd969ff3db0f8ee918cdfc521688fbf21..90cf9ad906e8aaac3caddcfe5773e1958bc2b780 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/PlayView.java +++ b/CheckersClient/core/src/com/mygdx/game/views/PlayView.java @@ -25,13 +25,6 @@ public class PlayView extends View{ } - @Override - protected void handleInput() { - if(Gdx.input.isKeyPressed(Input.Keys.ESCAPE)){ - - } - } - private void isGameOver(){ boolean someCondition = false; if (someCondition){ @@ -39,14 +32,17 @@ public class PlayView extends View{ } } + @Override + public void handleInput(float dt) { + + } + @Override public void update(float dt) { stage.act(dt); isGameOver(); - handleInput(); } - @Override public void render(float dt) { stage.getBatch().begin(); @@ -56,6 +52,16 @@ public class PlayView extends View{ } + @Override + public void fadeIn(float dt) { + + } + + @Override + public void fadeOut(float dt) { + + } + private void debugDraw(SpriteBatch sb, String text, int xPos, int yPos){ } diff --git a/CheckersClient/core/src/com/mygdx/game/views/View.java b/CheckersClient/core/src/com/mygdx/game/views/View.java index 2e105e327ff4817c7ec0835c213df68fff64903a..5cc6e3558b09a2ea158f805c8ab421c1bf84cd98 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/View.java +++ b/CheckersClient/core/src/com/mygdx/game/views/View.java @@ -2,27 +2,47 @@ package com.mygdx.game.views; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.assets.AssetManager; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.OrthographicCamera; +import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.scenes.scene2d.Stage; +import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.mygdx.game.controllers.PlayerController; + public abstract class View extends ApplicationAdapter { protected OrthographicCamera cam; - protected Vector3 mouse; + protected float[] lastTouch = new float[2];; protected final GameViewManager gvm; protected final PlayerController playerController; protected final AssetManager assetManager; protected final Stage stage; protected Skin skin; - public final int gridStep = 1920/20; - public final int Help_Guides = 12; - public final int row_height = Gdx.graphics.getHeight() / Help_Guides; - public final int col_width = Gdx.graphics.getWidth() / Help_Guides; + + protected final int Help_Guides = 12; + protected final int row_height = Gdx.graphics.getHeight() / Help_Guides; + protected final int col_width = Gdx.graphics.getWidth() / Help_Guides; + protected final float xpad = col_width/2; + protected final float ypad = row_height/2; + + protected ShapeRenderer shapeRenderer; + protected float fadeInAlpha; + protected float fadeOutAlpha; + protected float fadeInLength; + protected float fadeOutLength; + + protected boolean startFadeout; + protected boolean startFadeIn; + protected Texture fadeOverlayTexture; protected View(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin){ this.gvm = gvm; @@ -30,27 +50,54 @@ public abstract class View extends ApplicationAdapter { this.assetManager = assetManager; this.skin = skin; cam = new OrthographicCamera(); - mouse = new Vector3(); this.playerController = playerController; + this.shapeRenderer = new ShapeRenderer(); + + fadeInAlpha = 1; + fadeOutAlpha= 0; + startFadeIn = true; + startFadeout = false; + fadeInLength = 1; + fadeOutLength = 1; + + Pixmap tablePixmap = new Pixmap(1,1, Pixmap.Format.RGB565); + tablePixmap.setColor(Color.WHITE); + tablePixmap.fill(); + fadeOverlayTexture = new Texture(tablePixmap); } - protected abstract void handleInput(); + public abstract void handleInput(float dt); public abstract void update(float dt); public abstract void render(float dt); + public abstract void fadeIn(float dt); + public abstract void fadeOut(float dt); public abstract void dispose(); - public Skin getSkin(){ - return skin; - } - public Stage getStage(){ - return stage; + public boolean getStartFadeIn(){ + return startFadeIn; } - public AssetManager getAssetManager(){ - return assetManager; + + public boolean getStartFadeOut(){ + return startFadeout; } - public GameViewManager getGameViewManager(){ - return gvm; + protected void setFadeColor(Color c){ + Pixmap tablePixmap = new Pixmap(1,1, Pixmap.Format.RGB565); + tablePixmap.setColor(c); + tablePixmap.fill(); + fadeOverlayTexture = new Texture(tablePixmap); } + protected void drawGrid(){ + if(shapeRenderer == null){ + shapeRenderer = new ShapeRenderer(); + } + shapeRenderer.begin(ShapeRenderer.ShapeType.Line); + shapeRenderer.setColor(1, 0, 0, 0.75f); // Red line + for (int i = 0; i < 12; i++) { + shapeRenderer.rect(col_width*i, 0, 1, Gdx.graphics.getHeight()); + shapeRenderer.rect(0, row_height*i, Gdx.graphics.getWidth(), 1); + } + shapeRenderer.end(); + } } diff --git a/CheckersClient/core/src/com/mygdx/game/views/enums/LobbyAssets.java b/CheckersClient/core/src/com/mygdx/game/views/enums/LobbyAssets.java index ce7bae67a250e495de30d1f8bf799b78d727a655..950d9af43fda3868e6295707bce0fe89074362b4 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/enums/LobbyAssets.java +++ b/CheckersClient/core/src/com/mygdx/game/views/enums/LobbyAssets.java @@ -6,7 +6,7 @@ public enum LobbyAssets { LOBBY_LIST("Menu/1x/LobbyList.png", Texture.class), BACKGROUND("Menu/1x/LobbyMenu@1x.png", Texture.class), - LOBBY("Menu/1x/MrServer.png", Texture.class), + LOBBY("Menu/1x/Lobby.png", Texture.class), MR_SERVER_ANIM1("characters/MrServer1@1x.png", Texture.class), MR_SERVER_ANIM2("characters/MrServer2@1x.png", Texture.class), MR_SERVER_ANIM3("characters/MrServer3@1x.png", Texture.class), diff --git a/CheckersServer/core/src/com/mygdx/game/model/Lobby.java b/CheckersServer/core/src/com/mygdx/game/model/Lobby.java index 3f57299d1d5b51f93ca1f0e7bcda01d757db90d9..46496c47e23935f2a684e44961b033296ccf0ed7 100644 --- a/CheckersServer/core/src/com/mygdx/game/model/Lobby.java +++ b/CheckersServer/core/src/com/mygdx/game/model/Lobby.java @@ -82,8 +82,6 @@ public class Lobby { System.out.println("This should many times."); return false; } - - } @Override