diff --git a/CheckersClient/android/assets/Game/1x/StarPiece_BaseBrd.png b/CheckersClient/android/assets/Game/1x/StarPiece_BaseBrd.png index b36994fec3f8167192dbca0f612c4d04a44fb331..84d222841be9143734b0bdb9d77516bbbc213da1 100644 Binary files a/CheckersClient/android/assets/Game/1x/StarPiece_BaseBrd.png and b/CheckersClient/android/assets/Game/1x/StarPiece_BaseBrd.png differ diff --git a/CheckersClient/android/assets/Game/1x/StarPiece_HeadBrd.png b/CheckersClient/android/assets/Game/1x/StarPiece_HeadBrd.png index a722d3b791f9becc925633d1089cb70378e06194..d81726096c497cf7bedb126741a1b88e0e9034f3 100644 Binary files a/CheckersClient/android/assets/Game/1x/StarPiece_HeadBrd.png and b/CheckersClient/android/assets/Game/1x/StarPiece_HeadBrd.png differ diff --git a/CheckersClient/android/assets/Game/1x/StarPiece_MastBrd.png b/CheckersClient/android/assets/Game/1x/StarPiece_MastBrd.png index c804a1566335f6acb8f69bbf02ce31caaa13225c..c35cef5814583fb3fceafb456fda001da13f9bf6 100644 Binary files a/CheckersClient/android/assets/Game/1x/StarPiece_MastBrd.png and b/CheckersClient/android/assets/Game/1x/StarPiece_MastBrd.png differ diff --git a/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java b/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java index 77a1e5f99db3805b181021587ee6e54b00f8fb56..33d49af4beb439f6325675651e5352d24d9b9a17 100644 --- a/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java +++ b/CheckersClient/core/src/com/mygdx/game/UniCheckersClient.java @@ -14,6 +14,7 @@ import com.mygdx.game.controllers.NetworkController; import com.mygdx.game.controllers.PlayerController; import com.mygdx.game.views.GameViewManager; import com.mygdx.game.views.LoadingView; +import com.mygdx.game.views.PlayView; import java.util.ArrayList; @@ -34,7 +35,7 @@ public class UniCheckersClient extends ApplicationAdapter { @Override public void create () { - Gdx.gl.glClearColor(1, 1, 1, 1); + Gdx.gl.glClearColor(0, 0, 1, 1); viewport = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); stage = new Stage(viewport); @@ -53,7 +54,8 @@ public class UniCheckersClient extends ApplicationAdapter { skin = new Skin(Gdx.files.internal("UISkins/glassy/skin/glassy-ui.json")); gvm = new GameViewManager(); - gvm.push(new LoadingView(gvm, playerController, assetManager, stage, skin)); + //gvm.push(new LoadingView(gvm, playerController, assetManager, stage, skin)); + gvm.push(new PlayView(gvm, playerController, assetManager, stage, skin)); } diff --git a/CheckersClient/core/src/com/mygdx/game/views/PlayView.java b/CheckersClient/core/src/com/mygdx/game/views/PlayView.java index 90cf9ad906e8aaac3caddcfe5773e1958bc2b780..1997fbc58de27a2013b45775ee20d2dcd3b01c74 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/PlayView.java +++ b/CheckersClient/core/src/com/mygdx/game/views/PlayView.java @@ -4,13 +4,18 @@ 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.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.mygdx.game.controllers.PlayerController; +import com.mygdx.game.views.enums.MenuAssets; +import com.mygdx.game.views.enums.PlayAssets; import com.mygdx.game.views.tokens.PlayerAvatar; +import com.mygdx.game.views.tokens.StarPiece; import java.util.ArrayList; @@ -19,12 +24,39 @@ public class PlayView extends View{ private Texture background; - protected PlayView(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin, ArrayList<PlayerAvatar> availableAvatars) { + public PlayView(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin, ArrayList<PlayerAvatar> availableAvatars) { super(gvm, playerController, assetManager, stage, skin); background = new Texture ("Game/GameBoard/1x/GameBoard@1x.png"); } + public PlayView(GameViewManager gvm, PlayerController playerController, AssetManager assetManager, Stage stage, Skin skin) { + super(gvm, playerController, assetManager, stage, skin); + + for(PlayAssets asset : PlayAssets.values()) { + assetManager.load(asset.path, asset.classType); + } + assetManager.finishLoading(); + + starPieceBase = (Texture) assetManager.get(PlayAssets.STAR_PIECE_BASE.path, PlayAssets.STAR_PIECE_BASE.classType); + starPieceBaseBorder = (Texture) assetManager.get(PlayAssets.STAR_PIECE_BASE_BORDER.path, PlayAssets.STAR_PIECE_BASE_BORDER.classType); + starPieceMast = (Texture) assetManager.get(PlayAssets.STAR_PIECE_MAST.path, PlayAssets.STAR_PIECE_MAST.classType); + starPieceMastBorder = (Texture) assetManager.get(PlayAssets.STAR_PIECE_MAST_BORDER.path, PlayAssets.STAR_PIECE_MAST_BORDER.classType); + starPieceHead = (Texture) assetManager.get(PlayAssets.STAR_PIECE_HEAD.path, PlayAssets.STAR_PIECE_HEAD.classType); + starPieceHeadBorder = (Texture) assetManager.get(PlayAssets.STAR_PIECE_HEAD_BORDER.path, PlayAssets.STAR_PIECE_HEAD_BORDER.classType); + + piece = new StarPiece(0 , 0, Color.RED, starPieceBase, starPieceBaseBorder, starPieceMast, starPieceMastBorder, starPieceHead, starPieceHeadBorder); + + } + StarPiece piece; + Texture starPieceBase; + Texture starPieceBaseBorder; + Texture starPieceMast; + Texture starPieceMastBorder; + Texture starPieceHead; + Texture starPieceHeadBorder; + + private void isGameOver(){ boolean someCondition = false; if (someCondition){ @@ -45,11 +77,14 @@ public class PlayView extends View{ @Override public void render(float dt) { - stage.getBatch().begin(); - stage.getBatch().draw(background, 0, 0); - stage.getBatch().end(); + stage.draw(); + + piece.draw(stage.getBatch()); + + + } @Override diff --git a/CheckersClient/core/src/com/mygdx/game/views/enums/PlayAssets.java b/CheckersClient/core/src/com/mygdx/game/views/enums/PlayAssets.java index 9fee46ac3851906d102cfe957ab88c3bca2471e9..735057d8b89bdd4dce271fd7e1e3e5901263bd0e 100644 --- a/CheckersClient/core/src/com/mygdx/game/views/enums/PlayAssets.java +++ b/CheckersClient/core/src/com/mygdx/game/views/enums/PlayAssets.java @@ -6,10 +6,12 @@ import com.badlogic.gdx.graphics.Texture; public enum PlayAssets { - GAME_BOARD("Game/GameBoard/1x/GameBoard@1x.png", Texture.class), - BALL("Game/1x/Ball.png", Texture.class), - LOOP_AUDIO("Game/Audio/GameLoop.mp3",Sound.class), - TRANSITION_AUDIO("Game/Audio/TransitionFX.mp3",Sound.class); + STAR_PIECE_BASE("Game/1x/StarPiece_Base.png", Texture.class), + STAR_PIECE_BASE_BORDER("Game/1x/StarPiece_BaseBrd.png", Texture.class), + STAR_PIECE_HEAD("Game/1x/StarPiece_Head.png", Texture.class), + STAR_PIECE_HEAD_BORDER("Game/1x/StarPiece_HeadBrd.png", Texture.class), + STAR_PIECE_MAST("Game/1x/StarPiece_Mast.png", Texture.class), + STAR_PIECE_MAST_BORDER("Game/1x/StarPiece_MastBrd.png", Texture.class); public final String path; public final Class classType; diff --git a/CheckersClient/core/src/com/mygdx/game/views/tokens/StarPiece.java b/CheckersClient/core/src/com/mygdx/game/views/tokens/StarPiece.java new file mode 100644 index 0000000000000000000000000000000000000000..c100a725ebe1c7bb7413e41a2988fc0b09c1e680 --- /dev/null +++ b/CheckersClient/core/src/com/mygdx/game/views/tokens/StarPiece.java @@ -0,0 +1,111 @@ +package com.mygdx.game.views.tokens; + +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.g2d.Sprite; + +public class StarPiece extends Sprite { + + private final Color color; + private Texture base; + private Texture baseBorder; + private final float xPos; + private final float yPos; + + private Texture mast; + private Texture mastBorder; + + private Texture head; + private Texture headBorder; + private boolean rotateHead; + private float headRotation = 1; + + public StarPiece (float xPos, float yPos, Color color, Texture base, Texture baseBorder, Texture mast, Texture mastBorder, Texture head, Texture headBorder){ + + this.xPos = xPos; + this.yPos = yPos; + this.color = color; + + this.base = base; + this.baseBorder = baseBorder; + this.mast = mast; + this.mastBorder = mastBorder; + this.head = head; + this.headBorder = headBorder; + rotateHead=true; + } + + + public void draw(Batch sb){ + Color sbColor = sb.getColor(); + sb.begin(); + sb.setColor(color); + sb.draw(base, xPos, yPos); + sb.setColor(Color.BLACK); + sb.draw(baseBorder, xPos, yPos); + + sb.setColor(color); + sb.draw(mast, xPos+base.getWidth()/2-mast.getWidth()/2, yPos+base.getHeight()*0.35f); + sb.setColor(Color.BLACK); + sb.draw(mastBorder, xPos+base.getWidth()/2-mast.getWidth()/2, yPos+base.getHeight()*0.35f); + + if(rotateHead){ + sb.setColor(color); + + sb.draw(head, + xPos+base.getWidth()/2-head.getWidth()/2, + yPos+base.getHeight()-head.getWidth()/2, + head.getWidth()/2, + head.getHeight()/2, + head.getWidth(), + head.getHeight(), + 1f, + 1f, + headRotation++, + 0, + 0, + head.getWidth(), + head.getHeight(), + false, + false); + + sb.setColor(Color.BLACK); + sb.draw(headBorder, + xPos+base.getWidth()/2-head.getWidth()/2, + yPos+base.getHeight()-head.getWidth()/2, + head.getWidth()/2, + head.getHeight()/2, + head.getWidth(), + head.getHeight(), + 1f, + 1f, + headRotation++, + 0, + 0, + head.getWidth(), + head.getHeight(), + false, + false); + } + else{ + sb.setColor(color); + sb.draw(head, xPos+base.getWidth()/2-head.getWidth()/2, yPos+base.getHeight()-head.getWidth()/2); + sb.setColor(Color.BLACK); + sb.draw(headBorder, xPos+base.getWidth()/2-head.getWidth()/2, yPos+base.getHeight()-head.getWidth()/2); + } + + sb.setColor(sbColor); + sb.end(); + } + + public void setRotateHead(boolean rotateHead){ + this.rotateHead = rotateHead; + } + + + + + + +}