diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java
index fad1890..c14392a 100644
--- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java
+++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java
@@ -31,6 +31,7 @@ public class ChatApp extends Application {
public Node chat;
public Node game;
+ public Node backgroundDay;
public ChatApp() {
super();
@@ -159,10 +160,14 @@ public class ChatApp extends Application {
try {
URL chatResource = ChatApp.class.getResource("chat/ChatView.fxml");
URL gameResource = ChatApp.class.getResource("game/GameDayAll.fxml");
+ URL bgDayResource = ChatApp.class.getResource("TrainAnimationViewDay.fxml");
this.chat = FXMLLoader.load(Objects.requireNonNull(chatResource));
this.game = FXMLLoader.load(Objects.requireNonNull(gameResource));
+ this.backgroundDay = FXMLLoader.load(Objects.requireNonNull(bgDayResource));
+ LOGGER.debug(bgDayResource);
} catch (Exception e) {
- LOGGER.warn(e.getMessage());
+ LOGGER.warn("There was an Exception while loading");
+ e.printStackTrace();
}
URL loungeResource = ChatApp.class.getResource(
"lounge/LoungeSceneView.fxml");
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
new file mode 100644
index 0000000..cacdad7
--- /dev/null
+++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDayController.java
@@ -0,0 +1,70 @@
+package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui;
+
+import ch.unibas.dmi.dbis.cs108.BudaLogConfig;
+import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.LoungeSceneViewController;
+import java.net.URL;
+import java.util.ResourceBundle;
+import javafx.animation.Animation;
+import javafx.application.Platform;
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.AnchorPane;
+import javafx.util.Duration;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+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 wheelsImageView;
+ @FXML
+ private ImageView shadowTrain;
+ @FXML
+ private ImageView wagonBGImageView;
+ @FXML
+ private ImageView wagonFloorImageView;
+ @FXML
+ private AnchorPane wheelsAnchorPane;
+ @FXML
+ private AnchorPane gameAnchorPane;
+ @FXML
+ private ImageView wagonFullImageView;
+ @FXML
+ private ImageView lokiImageView;
+
+ private ChatApp chatApp;
+ private static ChatApp cApp;
+
+ public TrainAnimationDayController(){
+ super();
+ LOGGER.debug("Empty TrainAnimationDayController() constructor was called");
+ }
+
+ public ChatApp getChatApp() {
+ return chatApp;
+ }
+
+ public void setChatApp(ChatApp chatApp) {
+ this.chatApp = chatApp;
+ }
+
+ public static void setcApp(ChatApp cApp) {
+ TrainAnimationDayController.cApp = cApp;
+ }
+
+ @Override
+ public void initialize(URL location, ResourceBundle resources) {
+ setChatApp(cApp);
+ Platform.runLater(new Runnable() {
+ @Override
+ public void run() {
+ Animation wheels = new WheelsAnimation(Duration.millis(1000), 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
new file mode 100644
index 0000000..9c74845
--- /dev/null
+++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/WheelsAnimation.java
@@ -0,0 +1,82 @@
+package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui;
+
+import ch.unibas.dmi.dbis.cs108.BudaLogConfig;
+import javafx.animation.Animation;
+import javafx.animation.Timeline.*;
+import javafx.animation.Interpolator;
+import javafx.animation.Transition;
+import javafx.fxml.FXML;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.util.Duration;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public class WheelsAnimation extends Transition {
+ public static final Logger LOGGER = LogManager.getLogger(WheelsAnimation.class);
+ public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
+
+ ImageView imageView;
+ private static final Image[] wheels = new Image[26];
+ private int index;
+
+
+ WheelsAnimation(Duration duration, ImageView imageView) {
+ this.imageView = imageView;
+ setCycleDuration(duration);
+ setInterpolator(Interpolator.LINEAR);
+ 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");
+ wheels[2] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0003.png");
+ wheels[3] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0004.png");
+ wheels[4] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0005.png");
+ wheels[5] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0006.png");
+ wheels[6] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0007.png");
+ wheels[7] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0008.png");
+ wheels[8] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0009.png");
+ wheels[9] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0010.png");
+ wheels[10] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0011.png");
+ wheels[11] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0012.png");
+ wheels[12] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0013.png");
+ wheels[13] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0014.png");
+ wheels[14] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0015.png");
+ wheels[15] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0016.png");
+ wheels[16] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0017.png");
+ wheels[17] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0018.png");
+ wheels[18] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0019.png");
+ wheels[19] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0020.png");
+ wheels[20] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0021.png");
+ wheels[21] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0022.png");
+ wheels[22] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0023.png");
+ wheels[23] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0024.png");
+ wheels[24] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0025.png");
+ wheels[25] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0026.png");
+ }
+
+
+ @Override
+ protected void interpolate(double frac) {
+ if(index == 25) index = 0;
+ imageView.setImage(wheels[index]);
+ index++;
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java
index 8d75262..20033b7 100644
--- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java
+++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java
@@ -4,6 +4,7 @@ import ch.unibas.dmi.dbis.cs108.BudaLogConfig;
import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.ClientModel;
import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.ChatApp;
import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.LobbyListView;
+import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.TrainAnimationDayController;
import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.Protocol;
import ch.unibas.dmi.dbis.cs108.multiplayer.server.JServerProtocolParser;
import java.net.URL;
@@ -49,7 +50,10 @@ public class LoungeSceneViewController implements Initializable {
public static final Logger LOGGER = LogManager.getLogger(LoungeSceneViewController.class);
public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
-
+ @FXML
+ private AnchorPane backGroundAnchorPane;
+ @FXML
+ private AnchorPane gameDisplayAnchorPane;
@FXML
private TextFlow highScore;
@FXML
@@ -136,6 +140,8 @@ public class LoungeSceneViewController implements Initializable {
ClientListView.setVisible(true);
ClientListView.setItems(clients);
addChatView();
+ addBackgroundDay();
+ TrainAnimationDayController.setcApp(this.cApp);
ClientListView.setItems(clients);
ClientListView.setCellFactory(param -> {
@@ -363,6 +369,20 @@ public class LoungeSceneViewController implements Initializable {
});
}
+ public void addBackgroundDay() {
+ Platform.runLater(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ LOGGER.debug("in addBackgroundDay() run()");
+ gameDisplayAnchorPane.getChildren().add(chatApp.backgroundDay);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
/**
* Adds players to a lobby "NMEMB" {@link ch.unibas.dmi.dbis.cs108.multiplayer.helpers.GuiParameters}
*
diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDay.css b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDay.css
new file mode 100644
index 0000000..0574754
--- /dev/null
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationDay.css
@@ -0,0 +1,3 @@
+*{
+ -fx-background-color: transparent;
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..3d0aa2c
--- /dev/null
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/TrainAnimationViewDay.fxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 f02fda2..68646cb 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
@@ -5,7 +5,7 @@
.button{
}
-.roomButtonGroup{
+#roomButtonGroup{
-fx-background-color: transparent;
}
@@ -16,7 +16,7 @@
-fx-animated: null;
}
-.notificationText{
+#notificationText{
-fx-alignment: center;
-fx-text-fill: black;
-fx-font-family: Bahnschrift;
diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml
index 14a3064..9838413 100644
--- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml
@@ -10,9 +10,10 @@
-
+
-
+
+
diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/boarderPane.css b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/boarderPane.css
new file mode 100644
index 0000000..d2fe3fa
--- /dev/null
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/boarderPane.css
@@ -0,0 +1,20 @@
+*{
+ -fx-background-color: transparent;
+}
+
+#NTtBToolBar{
+ -fx-border-color: grey;
+ -fx-background-color: rgba(255,255,255,0.05);
+}
+
+.button{
+ -fx-border-color: darkgrey;
+ -fx-background-color: grey;
+ -fx-text-fill: white;
+}
+
+.button:pressed{
+ -fx-border-color: grey;
+ -fx-background-color: lightgrey;
+ -fx-text-fill: black;
+}
\ No newline at end of file
diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/loungStyle.css b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/loungStyle.css
new file mode 100644
index 0000000..74d0462
--- /dev/null
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/loungStyle.css
@@ -0,0 +1,5 @@
+
+#backGroundAnchorPane{
+ /*-fx-background-color: black;*/
+ /*-fx-background-image: url(../game/Day/Full_Wagon.png);*/
+}
\ No newline at end of file
diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/wheelsAnimation.css b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/wheelsAnimation.css
new file mode 100644
index 0000000..0574754
--- /dev/null
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/wheelsAnimation.css
@@ -0,0 +1,3 @@
+*{
+ -fx-background-color: transparent;
+}
\ No newline at end of file
diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/wheelsAnimationView.fxml b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/wheelsAnimationView.fxml
new file mode 100644
index 0000000..cd24d49
--- /dev/null
+++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/wheelsAnimationView.fxml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+