mourning-ember / src / main / java / dev / llan / model / EventManager.java
EventManager.java
Raw
package dev.llan.model;

import dev.llan.events.GameEvent;
import dev.llan.receivers.Receiver;

import java.util.ArrayList;
import java.util.List;

class EventManager {
  private List<Receiver> receivers;

  EventManager() {
    receivers = new ArrayList<>();
  }

  void registerReceiver(Receiver receiver) {
    receivers.add(receiver);
  }

  void removeReceiver(Receiver receiver) {
    receivers.remove(receiver);
  }

  void broadcast(GameEvent event) {
    for (Receiver receiver : receivers) {
      receiver.receive(event);
    }
  }
}