added timermanager
This commit is contained in:
@@ -21,6 +21,8 @@ public class MatrixAnimation extends ActionControl {
|
||||
private List<ParticleEmitter> 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(){
|
||||
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user