diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/animation/MatrixAnimation.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/animation/MatrixAnimation.java index 7e4170dc..8e513195 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/animation/MatrixAnimation.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/animation/MatrixAnimation.java @@ -21,6 +21,8 @@ public class MatrixAnimation extends ActionControl { private List activeEmitter = new ArrayList<>(); private ParticleEmitter radarEmitter = null; private float timeElapsed = 0f; + private final TimerManager timerManager = new TimerManager(); + private enum MatrixState{ RADAR_ON, @@ -30,6 +32,7 @@ private enum MatrixState{ } private MatrixState state; + public MatrixAnimation(MdgaApp app, Vector3f radarPos, Runnable runnable){ super(runnable); this.app = app; @@ -50,18 +53,18 @@ protected void controlUpdate(float tpf) { timeElapsed += tpf; + + switch(state){ case RADAR_ON -> { if(timeElapsed >= 2f){ state = MatrixState.RADAR_OFF; timeElapsed = 0; radarEmitter.setParticlesPerSec(0); - new Timer().schedule(new TimerTask() { - @Override - public void run() { - app.getRootNode().detachChild(radarEmitter); - } - }, 3000); + timerManager.addTask(3f, () -> app.enqueue(() -> { + app.getRootNode().detachChild(radarEmitter); + return null; + })); } } case RADAR_OFF -> { @@ -95,6 +98,7 @@ public void run() { } } } + timerManager.update(tpf); } private void turnOff(){ diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java index 9a7e4d94..37a91dd0 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java @@ -87,7 +87,7 @@ public Game() { gameStatistics = new Statistic(); initializeDrawPile(); board = new Board(); - die = new Die(1,2,3,4, + die = new Die(1,2, 5, 1,1,1 ); }