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); } } } }