RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
PlayerDataBus.java
1
package
com.osroyale.game.event.bus;
2
3
import
com.osroyale.game.event.Event;
4
import
com.osroyale.game.event.listener.PlayerEventListener;
5
import
com.osroyale.game.world.entity.mob.player.Player;
6
7
import
java.util.HashSet;
8
import
java.util.Set;
9
32
33
public
final
class
PlayerDataBus {
34
35
private
static
final
PlayerDataBus INSTANCE =
new
PlayerDataBus();
36
37
private
PlayerDataBus() {
38
39
}
40
41
public
static
PlayerDataBus getInstance() {
42
return
INSTANCE;
43
}
44
45
private
static
final
Set<PlayerEventListener> chain =
new
HashSet<>();
46
47
public
void
subscribe(
PlayerEventListener
listener) {
48
chain.add(listener);
49
}
50
51
public
void
unsubscribe(
PlayerEventListener
listener) {
52
chain.remove(listener);
53
}
54
55
public
boolean
publish(
Player
player,
Event
event) {
56
for
(
PlayerEventListener
listener : chain) {
57
if
(listener.accept(player, event)) {
58
return
true
;
59
}
60
}
61
return
false
;
62
}
63
64
}
com.osroyale.game.world.entity.mob.player.Player
Definition
Player.java:162
com.osroyale.game.event.Event
Definition
Event.java:8
com.osroyale.game.event.listener.PlayerEventListener
Definition
PlayerEventListener.java:11