package dev.llan.receivers;
import dev.llan.events.GameEvent;
import dev.llan.events.GameOverEvent;
import dev.llan.events.GameWonEvent;
import dev.llan.events.Events.*;
import javafx.application.Platform;
public class SpacedReceiver extends BaseReceiver {
@Override
public void receive(GameEvent event) {
if(event instanceof GameOverEvent || event instanceof GameWonEvent) {
updateMaxFloor(event);
}
for(Observer view : views) {
Platform.runLater(() -> view.update(event));
}
if(event.getEventType() == EventType.GRID_UPDATE) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
} else if (event.getEventType() == EventType.WAITED) {
try {
Thread.sleep(20);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
}