diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/BellAnimation.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/BellAnimation.java
new file mode 100644
index 0000000..93b64a1
--- /dev/null
+++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/BellAnimation.java
@@ -0,0 +1,29 @@
+package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.game;
+
+import javafx.animation.Interpolator;
+import javafx.animation.Transition;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.util.Duration;
+
+public class BellAnimation extends Transition {
+ ImageView imageView;
+ Image[] bells;
+ int index;
+
+ public BellAnimation(ImageView imageView, Image[] bells) {
+ setCycleCount(17);
+ index = 0;
+ this.imageView = imageView;
+ this.bells = bells;
+ setCycleDuration(new Duration(59));
+ setInterpolator(Interpolator.DISCRETE);
+ }
+
+
+ @Override
+ protected void interpolate(double frac) {
+ imageView.setImage(bells[index]);
+ index++;
+ }
+}
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 d1cff06..0f2ac83 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
@@ -10,6 +10,7 @@ import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.ClientModel;
import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.Protocol;
import java.net.URL;
import java.util.ResourceBundle;
+import javafx.animation.Animation;
import javafx.application.Platform;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
@@ -36,8 +37,24 @@ public class GameController implements Initializable {
private static GameStateModel gameStateModel;
+ Image[] bells = new Image[17];
+
public GameController() {
super();
+ try {
+ for (int i = 1; i <= 17; i++) {
+ String url;
+ if (i < 10) {
+ url =
+ "ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Bell/Image000" + i + ".png";
+ } else {
+ url = "ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Bell/Image00" + i + ".png";
+ }
+ bells[i-1] = new Image(url);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
//TODO(Seraina, Sebi): Same issue as ChatController? do with setters?
@@ -540,7 +557,8 @@ public class GameController implements Initializable {
public void run() {
try {
if(!gameStateModel.getKickedOff()[0]) {
- noiseImage0.setImage(loadBellImage());
+ Animation bell = new BellAnimation(noiseImage5, bells);
+ bell.play();
}
} catch (Exception e) {
LOGGER.debug(e.getMessage());
@@ -560,7 +578,8 @@ public class GameController implements Initializable {
public void run() {
try {
if(!gameStateModel.getKickedOff()[1]) {
- noiseImage1.setImage(loadBellImage());
+ Animation bell = new BellAnimation(noiseImage4, bells);
+ bell.play();
}
} catch (Exception e) {
LOGGER.debug(e.getMessage());
@@ -579,7 +598,8 @@ public class GameController implements Initializable {
public void run() {
try {
if(!gameStateModel.getKickedOff()[2]) {
- noiseImage2.setImage(loadBellImage());
+ Animation bell = new BellAnimation(noiseImage3, bells);
+ bell.play();
}
} catch (Exception e) {
LOGGER.debug(e.getMessage());
@@ -599,7 +619,8 @@ public class GameController implements Initializable {
public void run() {
try {
if(!gameStateModel.getKickedOff()[3]) {
- noiseImage3.setImage(loadBellImage());
+ Animation bell = new BellAnimation(noiseImage2, bells);
+ bell.play();
}
} catch (Exception e) {
LOGGER.debug(e.getMessage());
@@ -618,7 +639,8 @@ public class GameController implements Initializable {
public void run() {
try {
if(!gameStateModel.getKickedOff()[4]) {
- noiseImage4.setImage(loadBellImage());
+ Animation bell = new BellAnimation(noiseImage1, bells);
+ bell.play();
}
} catch (Exception e) {
LOGGER.debug(e.getMessage());
@@ -637,7 +659,8 @@ public class GameController implements Initializable {
public void run() {
try {
if(!gameStateModel.getKickedOff()[5]) {
- noiseImage5.setImage(loadBellImage());
+ Animation bell = new BellAnimation(noiseImage0, bells);
+ bell.play();
}
} catch (Exception e) {
LOGGER.debug(e.getMessage());
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 dc4b5d7..67cef01 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
@@ -41,18 +41,14 @@
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
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 f38bd8d..bd50986 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
@@ -6,7 +6,6 @@
-
@@ -46,7 +45,6 @@
-