diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java new file mode 100644 index 0000000..99e8996 --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java @@ -0,0 +1,25 @@ +package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui; + + +import javafx.animation.Interpolator; +import javafx.animation.Transition; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.util.Duration; + +public class BGAnimation extends Transition { + ImageView imageView; + private static final Image bgFull = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/BG_small.jpg"); + + BGAnimation(Duration duration, ImageView imageView) { + this.imageView = imageView; + setCycleDuration(duration); + setInterpolator(Interpolator.DISCRETE); + + } + + @Override + protected void interpolate(double frac) { + + } +} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDayController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDayController.java index cacdad7..14f6dd7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDayController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDayController.java @@ -18,6 +18,8 @@ public class TrainAnimationDayController implements Initializable { public static final Logger LOGGER = LogManager.getLogger(TrainAnimationDayController.class); public static final BudaLogConfig l = new BudaLogConfig(LOGGER); + @FXML + private ImageView backGroundAnimationImageView; @FXML private ImageView wheelsImageView; @FXML @@ -61,7 +63,7 @@ public class TrainAnimationDayController implements Initializable { Platform.runLater(new Runnable() { @Override public void run() { - Animation wheels = new WheelsAnimation(Duration.millis(1000), wheelsImageView); + Animation wheels = new WheelsAnimation(Duration.millis(866.666), wheelsImageView); wheels.setCycleCount(Animation.INDEFINITE); wheels.play(); } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/WheelsAnimation.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/WheelsAnimation.java index 9c74845..9a34418 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/WheelsAnimation.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/WheelsAnimation.java @@ -12,6 +12,10 @@ import javafx.util.Duration; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +/** + * This class animates the wheels from the train from sprites + */ + public class WheelsAnimation extends Transition { public static final Logger LOGGER = LogManager.getLogger(WheelsAnimation.class); public static final BudaLogConfig l = new BudaLogConfig(LOGGER); @@ -24,7 +28,7 @@ public class WheelsAnimation extends Transition { WheelsAnimation(Duration duration, ImageView imageView) { this.imageView = imageView; setCycleDuration(duration); - setInterpolator(Interpolator.LINEAR); + setInterpolator(Interpolator.DISCRETE); index = 1; wheels[0] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0001.png"); wheels[1] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0002.png"); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java index 390d3ee..90ad993 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameController.java @@ -36,7 +36,6 @@ public class GameController implements Initializable { private static GameStateModel gameStateModel; - public GameController() { super(); } @@ -59,6 +58,18 @@ public class GameController implements Initializable { return gameStateModel; } + @FXML + private ImageView room0ImageView; + @FXML + private ImageView room1ImageView; + @FXML + private ImageView room2ImageView; + @FXML + private ImageView room3ImageView; + @FXML + private ImageView room4ImageView; + @FXML + private ImageView room5ImageView; @FXML private AnchorPane gameBG; @FXML @@ -128,6 +139,24 @@ public class GameController implements Initializable { .sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 0); } + public void moveRoom0Up() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room0ImageView.setY(-20); + } + }); + } + + public void moveRoom0Down() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room0ImageView.setY(0); + } + }); + } + /** * If button 1 is clicked, send the vote message 0 to the server */ @@ -135,6 +164,23 @@ public class GameController implements Initializable { client.getClient() .sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 1); } + public void moveRoom1Up() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room1ImageView.setY(-20); + } + }); + } + + public void moveRoom1Down() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room1ImageView.setY(0); + } + }); + } /** * If button 2 is clicked, send the vote message 0 to the server @@ -144,6 +190,24 @@ public class GameController implements Initializable { .sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 2); } + public void moveRoom2Up() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room2ImageView.setY(-20); + } + }); + } + + public void moveRoom2Down() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room2ImageView.setY(0); + } + }); + } + /** * If button 3 is clicked, send the vote message 0 to the server */ @@ -151,6 +215,23 @@ public class GameController implements Initializable { client.getClient() .sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 3); } + public void moveRoom3Up() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room3ImageView.setY(-20); + } + }); + } + + public void moveRoom3Down() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room3ImageView.setY(0); + } + }); + } /** * If button 4 is clicked, send the vote message 0 to the server @@ -159,6 +240,23 @@ public class GameController implements Initializable { client.getClient() .sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 4); } + public void moveRoom4Up() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room4ImageView.setY(-20); + } + }); + } + + public void moveRoom4Down() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room4ImageView.setY(0); + } + }); + } /** * If button 5 is clicked, send the vote message 0 to the server @@ -167,6 +265,23 @@ public class GameController implements Initializable { client.getClient() .sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 5); } + public void moveRoom5Up() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room5ImageView.setY(-20); + } + }); + } + + public void moveRoom5Down() { + Platform.runLater(new Runnable() { + @Override + public void run() { + room5ImageView.setY(0); + } + }); + } /** * Sends a noise message, to the server, should be a gui message? diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationViewDay.fxml b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationViewDay.fxml index 3d0aa2c..eb72e59 100644 --- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationViewDay.fxml +++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationViewDay.fxml @@ -7,6 +7,11 @@ + + + + + diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css index 68646cb..6d10800 100644 --- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css +++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css @@ -3,12 +3,21 @@ } .button{ + -fx-background-color: transparent; + -fx-border-color: transparent; +} + +#noiseButton{ + -fx-background-color: midnightblue; + -fx-text-fill: lightgrey; } #roomButtonGroup{ -fx-background-color: transparent; } + + .text-field{ -fx-text-fill: white; -fx-background-color: transparent; diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDayAll.fxml b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDayAll.fxml index 2be235e..f09f239 100644 --- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDayAll.fxml +++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDayAll.fxml @@ -9,9 +9,39 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -23,78 +53,6 @@ - - - - - - @@ -105,6 +63,36 @@ + + + + + +