package dev.llan.receivers; import dev.llan.events.GameEvent; import dev.llan.events.GameOverEvent; import dev.llan.events.GameWonEvent; import javafx.application.Platform; public class ForwardingReceiver extends BaseReceiver { @Override public void receive(GameEvent event) { System.out.println("Got Event: " + event); if(event instanceof GameOverEvent || event instanceof GameWonEvent) { updateMaxFloor(event); } for(Observer view : views) { Platform.runLater(() -> view.update(event)); } } }