RuneHive-Game
Loading...
Searching...
No Matches
PlayerDataBus.java
Go to the documentation of this file.
1package com.runehive.game.event.bus;
2
3import com.runehive.game.event.Event;
4import com.runehive.game.event.listener.PlayerEventListener;
5import com.runehive.game.world.entity.mob.player.Player;
6
7import java.util.HashSet;
8import java.util.Set;
9
10public final class PlayerDataBus {
11
12 private static final PlayerDataBus INSTANCE = new PlayerDataBus();
13
14 private PlayerDataBus() {
15
16 }
17
18 public static PlayerDataBus getInstance() {
19 return INSTANCE;
20 }
21
22 private static final Set<PlayerEventListener> chain = new HashSet<>();
23
25 chain.add(listener);
26 }
27
29 chain.remove(listener);
30 }
31
32 public boolean publish(Player player, Event event) {
34 if (listener.accept(player, event)) {
35 return true;
36 }
37 }
38 return false;
39 }
40
41}
void unsubscribe(PlayerEventListener listener)
void subscribe(PlayerEventListener listener)
static final Set< PlayerEventListener > chain
boolean publish(Player player, Event event)
This class represents a character controlled by a player.
Definition Player.java:125
The type of event listener that will listen for player-related events.
Definition Event.kt:9