RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
EventDispatcher.java
1package com.osroyale.content.event;
2
3import com.osroyale.content.activity.Activity;
4import com.osroyale.game.world.entity.mob.player.Player;
5import com.osroyale.content.event.InteractionEvent.InteractionType;
6
28
29public class EventDispatcher {
30
31 private final InteractionEvent interactionEvent;
32
33 public EventDispatcher(InteractionEvent interactionEvent) {
34 this.interactionEvent = interactionEvent;
35 }
36
37 public static boolean execute(Player player, InteractionEvent event) {
38 return player.inActivity() && Activity.evaluate(player, it -> it.onEvent(player, event)) || player.skills.onEvent(event);
39 }
40
41 public void dispatch(InteractionType type, EventHandler eventHandler) {
42 if (interactionEvent.isHandled()) {
43 return;
44 }
45
46 if (interactionEvent.getType() == type) {
47 interactionEvent.setHandled(eventHandler.handle(interactionEvent));
48 }
49 }
50
51}
boolean onEvent(InteractionEvent interactionEvent)