Add (v1) NetworkManager, Session and Transport #173
@@ -9,6 +9,7 @@ import java.util.function.Consumer;
|
|||||||
public class EventBus {
|
public class EventBus {
|
||||||
private final Map<Class<?>, List<Consumer<Object>>> handlers = new ConcurrentHashMap<>();
|
private final Map<Class<?>, List<Consumer<Object>>> handlers = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked") // This cast is safe, because handlers only get passed the type they subscribed to
|
||||||
public <T extends Event> void subscribe(Class<T> eventType, Consumer<T> handler) {
|
public <T extends Event> void subscribe(Class<T> eventType, Consumer<T> handler) {
|
||||||
handlers.computeIfAbsent(eventType, k -> new CopyOnWriteArrayList<>())
|
handlers.computeIfAbsent(eventType, k -> new CopyOnWriteArrayList<>())
|
||||||
.add((Consumer<Object>) handler);
|
.add((Consumer<Object>) handler);
|
||||||
|
|||||||
Reference in New Issue
Block a user