mourning-ember / src / main / java / dev / llan / receivers / ForwardingReceiver.java
ForwardingReceiver.java
Raw
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));
    }
  }
}