Rework rx eventbus implementation
This commit is contained in:
@@ -41,14 +41,14 @@ public interface Callbacks
|
|||||||
*
|
*
|
||||||
* @param event the event
|
* @param event the event
|
||||||
*/
|
*/
|
||||||
void post(Object event);
|
<T> void post(Class<T> eventClass, Object event);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Post a deferred event, which gets delayed until the next cycle.
|
* Post a deferred event, which gets delayed until the next cycle.
|
||||||
*
|
*
|
||||||
* @param event the event
|
* @param event the event
|
||||||
*/
|
*/
|
||||||
void postDeferred(Object event);
|
<T> void postDeferred(Class<T> eventClass, Object event);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called each client cycle.
|
* Called each client cycle.
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import net.runelite.client.config.ConfigManager;
|
|||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.config.RuneLitePlusConfig;
|
import net.runelite.client.config.RuneLitePlusConfig;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.menus.MenuManager;
|
import net.runelite.client.menus.MenuManager;
|
||||||
import net.runelite.client.plugins.PluginManager;
|
import net.runelite.client.plugins.PluginManager;
|
||||||
@@ -85,7 +84,7 @@ public class RuneLiteModule extends AbstractModule
|
|||||||
bind(Callbacks.class).to(Hooks.class);
|
bind(Callbacks.class).to(Hooks.class);
|
||||||
|
|
||||||
bind(EventBus.class)
|
bind(EventBus.class)
|
||||||
.toInstance(new EventBusImplementation());
|
.toInstance(new EventBus());
|
||||||
|
|
||||||
bind(EventBus.class)
|
bind(EventBus.class)
|
||||||
.annotatedWith(Names.named("Deferred EventBus"))
|
.annotatedWith(Names.named("Deferred EventBus"))
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
package net.runelite.client.account;
|
package net.runelite.client.account;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import io.reactivex.disposables.Disposable;
|
import io.reactivex.functions.Consumer;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
@@ -40,7 +40,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.client.RuneLite;
|
import net.runelite.client.RuneLite;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.events.SessionClose;
|
import net.runelite.client.events.SessionClose;
|
||||||
import net.runelite.client.events.SessionOpen;
|
import net.runelite.client.events.SessionOpen;
|
||||||
import net.runelite.client.util.LinkBrowser;
|
import net.runelite.client.util.LinkBrowser;
|
||||||
@@ -58,20 +57,18 @@ public class SessionManager
|
|||||||
@Getter
|
@Getter
|
||||||
private AccountSession accountSession;
|
private AccountSession accountSession;
|
||||||
|
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final ConfigManager configManager;
|
private final ConfigManager configManager;
|
||||||
private final WSClient wsClient;
|
private final WSClient wsClient;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private SessionManager(ConfigManager configManager, EventBusImplementation eventBus, WSClient wsClient)
|
private SessionManager(ConfigManager configManager, EventBus eventBus, WSClient wsClient)
|
||||||
{
|
{
|
||||||
this.configManager = configManager;
|
this.configManager = configManager;
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
this.wsClient = wsClient;
|
this.wsClient = wsClient;
|
||||||
|
|
||||||
this.eventBus
|
this.eventBus.subscribe(LoginResponse.class, this, o -> this.onLoginResponse((LoginResponse) o));
|
||||||
.observableOfType(LoginResponse.class)
|
|
||||||
.subscribe(this::onLoginResponse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadSession()
|
public void loadSession()
|
||||||
@@ -154,7 +151,7 @@ public class SessionManager
|
|||||||
configManager.switchSession();
|
configManager.switchSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
eventBus.post(new SessionOpen());
|
eventBus.post(SessionOpen.class, new SessionOpen());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void closeSession()
|
private void closeSession()
|
||||||
@@ -183,7 +180,7 @@ public class SessionManager
|
|||||||
// Restore config
|
// Restore config
|
||||||
configManager.switchSession();
|
configManager.switchSession();
|
||||||
|
|
||||||
eventBus.post(new SessionClose());
|
eventBus.post(SessionClose.class, new SessionClose());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void login()
|
public void login()
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ import net.runelite.client.Notifier;
|
|||||||
import net.runelite.client.RuneLite;
|
import net.runelite.client.RuneLite;
|
||||||
import net.runelite.client.chat.ChatMessageManager;
|
import net.runelite.client.chat.ChatMessageManager;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.input.MouseManager;
|
import net.runelite.client.input.MouseManager;
|
||||||
import net.runelite.client.task.Scheduler;
|
import net.runelite.client.task.Scheduler;
|
||||||
@@ -89,7 +88,7 @@ public class Hooks implements Callbacks
|
|||||||
private static final OverlayManager overlayManager = injector.getInstance(OverlayManager.class);
|
private static final OverlayManager overlayManager = injector.getInstance(OverlayManager.class);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventBus;
|
private EventBus eventBus;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private DeferredEventBus deferredEventBus;
|
private DeferredEventBus deferredEventBus;
|
||||||
@@ -129,15 +128,15 @@ public class Hooks implements Callbacks
|
|||||||
private boolean shouldProcessGameTick;
|
private boolean shouldProcessGameTick;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void post(Object event)
|
public <T> void post(Class<T> eventClass, Object event)
|
||||||
{
|
{
|
||||||
eventBus.post(event);
|
eventBus.post(eventClass, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postDeferred(Object event)
|
public <T> void postDeferred(Class<T> eventClass, Object event)
|
||||||
{
|
{
|
||||||
deferredEventBus.post(event);
|
deferredEventBus.post(eventClass, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -149,13 +148,13 @@ public class Hooks implements Callbacks
|
|||||||
|
|
||||||
deferredEventBus.replay();
|
deferredEventBus.replay();
|
||||||
|
|
||||||
eventBus.post(GameTick.INSTANCE);
|
eventBus.post(GameTick.class, GameTick.INSTANCE);
|
||||||
|
|
||||||
int tick = client.getTickCount();
|
int tick = client.getTickCount();
|
||||||
client.setTickCount(tick + 1);
|
client.setTickCount(tick + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
eventBus.post(BeforeRender.INSTANCE);
|
eventBus.post(BeforeRender.class, BeforeRender.INSTANCE);
|
||||||
|
|
||||||
clientThread.invoke();
|
clientThread.invoke();
|
||||||
|
|
||||||
@@ -510,7 +509,7 @@ public class Hooks implements Callbacks
|
|||||||
public static boolean drawMenu()
|
public static boolean drawMenu()
|
||||||
{
|
{
|
||||||
BeforeMenuRender event = new BeforeMenuRender();
|
BeforeMenuRender event = new BeforeMenuRender();
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(BeforeMenuRender.class, event);
|
||||||
return event.isConsumed();
|
return event.isConsumed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import net.runelite.api.Client;
|
|||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.events.ChatInput;
|
import net.runelite.client.events.ChatInput;
|
||||||
import net.runelite.client.events.ChatboxInput;
|
import net.runelite.client.events.ChatboxInput;
|
||||||
import net.runelite.client.events.PrivateMessageInput;
|
import net.runelite.client.events.PrivateMessageInput;
|
||||||
@@ -49,15 +48,14 @@ public class ChatCommandManager implements ChatboxInputListener
|
|||||||
private final ScheduledExecutorService scheduledExecutorService;
|
private final ScheduledExecutorService scheduledExecutorService;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ChatCommandManager(EventBusImplementation eventBus, CommandManager commandManager, Client client, ScheduledExecutorService scheduledExecutorService)
|
private ChatCommandManager(EventBus eventBus, CommandManager commandManager, Client client, ScheduledExecutorService scheduledExecutorService)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.scheduledExecutorService = scheduledExecutorService;
|
this.scheduledExecutorService = scheduledExecutorService;
|
||||||
// eventBus.register(this);
|
// eventBus.register(this);
|
||||||
commandManager.register(this);
|
commandManager.register(this);
|
||||||
|
|
||||||
eventBus.observableOfType(ChatMessage.class)
|
eventBus.subscribe(ChatMessage.class, this, o -> this.onChatMessage((ChatMessage) o));
|
||||||
.subscribe(this::onChatMessage);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerCommand(String command, BiConsumer<ChatMessage, String> execute)
|
public void registerCommand(String command, BiConsumer<ChatMessage, String> execute)
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ import net.runelite.api.events.ScriptCallbackEvent;
|
|||||||
import net.runelite.api.events.VarbitChanged;
|
import net.runelite.api.events.VarbitChanged;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ChatColorConfig;
|
import net.runelite.client.config.ChatColorConfig;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.ui.JagexColors;
|
import net.runelite.client.ui.JagexColors;
|
||||||
import net.runelite.client.util.ColorUtil;
|
import net.runelite.client.util.ColorUtil;
|
||||||
|
|
||||||
@@ -73,26 +73,17 @@ public class ChatMessageManager
|
|||||||
final Client client,
|
final Client client,
|
||||||
final ChatColorConfig chatColorConfig,
|
final ChatColorConfig chatColorConfig,
|
||||||
final ClientThread clientThread,
|
final ClientThread clientThread,
|
||||||
final EventBusImplementation eventbus)
|
final EventBus eventbus)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.chatColorConfig = chatColorConfig;
|
this.chatColorConfig = chatColorConfig;
|
||||||
this.clientThread = clientThread;
|
this.clientThread = clientThread;
|
||||||
|
|
||||||
eventbus.observableOfType(VarbitChanged.class)
|
eventbus.subscribe(VarbitChanged.class, this, o -> this.onVarbitChanged((VarbitChanged) o));
|
||||||
.subscribe(this::onVarbitChanged);
|
eventbus.subscribe(ResizeableChanged.class, this, o -> this.onResizeableChanged((ResizeableChanged) o));
|
||||||
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
eventbus.observableOfType(ResizeableChanged.class)
|
eventbus.subscribe(ChatMessage.class, this, o -> this.onChatMessage((ChatMessage) o));
|
||||||
.subscribe(this::onResizeableChanged);
|
eventbus.subscribe(ScriptCallbackEvent.class, this, o -> this.onScriptCallbackEvent((ScriptCallbackEvent) o));
|
||||||
|
|
||||||
eventbus.observableOfType(ConfigChanged.class)
|
|
||||||
.subscribe(this::onConfigChanged);
|
|
||||||
|
|
||||||
eventbus.observableOfType(ChatMessage.class)
|
|
||||||
.subscribe(this::onChatMessage);
|
|
||||||
|
|
||||||
eventbus.observableOfType(ScriptCallbackEvent.class)
|
|
||||||
.subscribe(this::onScriptCallbackEvent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onVarbitChanged(VarbitChanged event)
|
private void onVarbitChanged(VarbitChanged event)
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ import net.runelite.api.VarClientStr;
|
|||||||
import net.runelite.api.events.CommandExecuted;
|
import net.runelite.api.events.CommandExecuted;
|
||||||
import net.runelite.api.events.ScriptCallbackEvent;
|
import net.runelite.api.events.ScriptCallbackEvent;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.ChatboxInput;
|
import net.runelite.client.events.ChatboxInput;
|
||||||
import net.runelite.client.events.PrivateMessageInput;
|
import net.runelite.client.events.PrivateMessageInput;
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ public class CommandManager
|
|||||||
private static final String PRIVMATE_MESSAGE = "privateMessage";
|
private static final String PRIVMATE_MESSAGE = "privateMessage";
|
||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final ClientThread clientThread;
|
private final ClientThread clientThread;
|
||||||
private boolean sending;
|
private boolean sending;
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ public class CommandManager
|
|||||||
@Inject
|
@Inject
|
||||||
private CommandManager(
|
private CommandManager(
|
||||||
final Client client,
|
final Client client,
|
||||||
final EventBusImplementation eventBus,
|
final EventBus eventBus,
|
||||||
final ClientThread clientThread
|
final ClientThread clientThread
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -67,8 +67,7 @@ public class CommandManager
|
|||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
this.clientThread = clientThread;
|
this.clientThread = clientThread;
|
||||||
|
|
||||||
eventBus.observableOfType(ScriptCallbackEvent.class)
|
eventBus.subscribe(ScriptCallbackEvent.class, this, o -> this.onScriptCallbackEvent((ScriptCallbackEvent) o));
|
||||||
.subscribe(this::onScriptCallbackEvent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void register(ChatboxInputListener chatboxInputListener)
|
public void register(ChatboxInputListener chatboxInputListener)
|
||||||
@@ -120,7 +119,7 @@ public class CommandManager
|
|||||||
String[] args = Arrays.copyOfRange(split, 1, split.length);
|
String[] args = Arrays.copyOfRange(split, 1, split.length);
|
||||||
|
|
||||||
CommandExecuted commandExecuted = new CommandExecuted(command, args);
|
CommandExecuted commandExecuted = new CommandExecuted(command, args);
|
||||||
eventBus.post(commandExecuted);
|
eventBus.post(CommandExecuted.class, commandExecuted);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleInput(ScriptCallbackEvent event)
|
private void handleInput(ScriptCallbackEvent event)
|
||||||
|
|||||||
@@ -66,9 +66,8 @@ import net.runelite.api.events.ConfigChanged;
|
|||||||
import net.runelite.client.RuneLite;
|
import net.runelite.client.RuneLite;
|
||||||
import static net.runelite.client.RuneLite.PROFILES_DIR;
|
import static net.runelite.client.RuneLite.PROFILES_DIR;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.util.ColorUtil;
|
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
|
import net.runelite.client.util.ColorUtil;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -80,7 +79,7 @@ public class ConfigManager
|
|||||||
private static final File STANDARD_SETTINGS_FILE = new File(RuneLite.RUNELITE_DIR, STANDARD_SETTINGS_FILE_NAME);
|
private static final File STANDARD_SETTINGS_FILE = new File(RuneLite.RUNELITE_DIR, STANDARD_SETTINGS_FILE_NAME);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
EventBusImplementation eventBus;
|
EventBus eventBus;
|
||||||
|
|
||||||
private final ConfigInvocationHandler handler = new ConfigInvocationHandler(this);
|
private final ConfigInvocationHandler handler = new ConfigInvocationHandler(this);
|
||||||
private final Properties properties = new Properties();
|
private final Properties properties = new Properties();
|
||||||
@@ -90,7 +89,6 @@ public class ConfigManager
|
|||||||
@Inject
|
@Inject
|
||||||
public ConfigManager(ScheduledExecutorService scheduledExecutorService)
|
public ConfigManager(ScheduledExecutorService scheduledExecutorService)
|
||||||
{
|
{
|
||||||
|
|
||||||
scheduledExecutorService.scheduleWithFixedDelay(this::sendConfig, 30, 30, TimeUnit.SECONDS);
|
scheduledExecutorService.scheduleWithFixedDelay(this::sendConfig, 30, 30, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +193,7 @@ public class ConfigManager
|
|||||||
configChanged.setKey(key);
|
configChanged.setKey(key);
|
||||||
configChanged.setOldValue(null);
|
configChanged.setOldValue(null);
|
||||||
configChanged.setNewValue(value);
|
configChanged.setNewValue(value);
|
||||||
eventBus.post(configChanged);
|
eventBus.post(ConfigChanged.class, configChanged);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -234,7 +232,7 @@ public class ConfigManager
|
|||||||
private void postConfigChanged(ConfigChanged configChanged)
|
private void postConfigChanged(ConfigChanged configChanged)
|
||||||
{
|
{
|
||||||
configObjectCache.remove(configChanged.getGroup() + "." + configChanged.getKey());
|
configObjectCache.remove(configChanged.getGroup() + "." + configChanged.getKey());
|
||||||
eventBus.post(configChanged);
|
eventBus.post(ConfigChanged.class, configChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T getConfig(Class<T> clazz)
|
public <T> T getConfig(Class<T> clazz)
|
||||||
@@ -333,7 +331,7 @@ public class ConfigManager
|
|||||||
configChanged.setKey(key);
|
configChanged.setKey(key);
|
||||||
configChanged.setOldValue(oldValue);
|
configChanged.setOldValue(oldValue);
|
||||||
|
|
||||||
eventBus.post(configChanged);
|
eventBus.post(ConfigChanged.class, configChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConfigDescriptor getConfigDescriptor(Object configurationProxy)
|
public ConfigDescriptor getConfigDescriptor(Object configurationProxy)
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ import net.runelite.client.discord.events.DiscordJoinRequest;
|
|||||||
import net.runelite.client.discord.events.DiscordReady;
|
import net.runelite.client.discord.events.DiscordReady;
|
||||||
import net.runelite.client.discord.events.DiscordSpectateGame;
|
import net.runelite.client.discord.events.DiscordSpectateGame;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.discord.DiscordEventHandlers;
|
import net.runelite.discord.DiscordEventHandlers;
|
||||||
import net.runelite.discord.DiscordRPC;
|
import net.runelite.discord.DiscordRPC;
|
||||||
import net.runelite.discord.DiscordRichPresence;
|
import net.runelite.discord.DiscordRichPresence;
|
||||||
@@ -49,7 +48,7 @@ import net.runelite.discord.DiscordUser;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class DiscordService implements AutoCloseable
|
public class DiscordService implements AutoCloseable
|
||||||
{
|
{
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final RuneLiteProperties runeLiteProperties;
|
private final RuneLiteProperties runeLiteProperties;
|
||||||
private final ScheduledExecutorService executorService;
|
private final ScheduledExecutorService executorService;
|
||||||
private final DiscordRPC discordRPC;
|
private final DiscordRPC discordRPC;
|
||||||
@@ -62,7 +61,7 @@ public class DiscordService implements AutoCloseable
|
|||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private DiscordService(
|
private DiscordService(
|
||||||
final EventBusImplementation eventBus,
|
final EventBus eventBus,
|
||||||
final RuneLiteProperties runeLiteProperties,
|
final RuneLiteProperties runeLiteProperties,
|
||||||
final ScheduledExecutorService executorService)
|
final ScheduledExecutorService executorService)
|
||||||
{
|
{
|
||||||
@@ -199,7 +198,7 @@ public class DiscordService implements AutoCloseable
|
|||||||
{
|
{
|
||||||
log.info("Discord RPC service is ready with user {}.", user.username);
|
log.info("Discord RPC service is ready with user {}.", user.username);
|
||||||
currentUser = user;
|
currentUser = user;
|
||||||
eventBus.post(new DiscordReady(
|
eventBus.post(DiscordReady.class, new DiscordReady(
|
||||||
user.userId,
|
user.userId,
|
||||||
user.username,
|
user.username,
|
||||||
user.discriminator,
|
user.discriminator,
|
||||||
@@ -208,28 +207,28 @@ public class DiscordService implements AutoCloseable
|
|||||||
|
|
||||||
private void disconnected(int errorCode, String message)
|
private void disconnected(int errorCode, String message)
|
||||||
{
|
{
|
||||||
eventBus.post(new DiscordDisconnected(errorCode, message));
|
eventBus.post(DiscordDisconnected.class, new DiscordDisconnected(errorCode, message));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void errored(int errorCode, String message)
|
private void errored(int errorCode, String message)
|
||||||
{
|
{
|
||||||
log.warn("Discord error: {} - {}", errorCode, message);
|
log.warn("Discord error: {} - {}", errorCode, message);
|
||||||
eventBus.post(new DiscordErrored(errorCode, message));
|
eventBus.post(DiscordErrored.class, new DiscordErrored(errorCode, message));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void joinGame(String joinSecret)
|
private void joinGame(String joinSecret)
|
||||||
{
|
{
|
||||||
eventBus.post(new DiscordJoinGame(joinSecret));
|
eventBus.post(DiscordJoinGame.class, new DiscordJoinGame(joinSecret));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void spectateGame(String spectateSecret)
|
private void spectateGame(String spectateSecret)
|
||||||
{
|
{
|
||||||
eventBus.post(new DiscordSpectateGame(spectateSecret));
|
eventBus.post(DiscordSpectateGame.class, new DiscordSpectateGame(spectateSecret));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void joinRequest(DiscordUser user)
|
private void joinRequest(DiscordUser user)
|
||||||
{
|
{
|
||||||
eventBus.post(new DiscordJoinRequest(
|
eventBus.post(DiscordJoinRequest.class, new DiscordJoinRequest(
|
||||||
user.userId,
|
user.userId,
|
||||||
user.username,
|
user.username,
|
||||||
user.discriminator,
|
user.discriminator,
|
||||||
|
|||||||
@@ -1,38 +1,58 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
|
|
||||||
* Copyright (c) 2018, Abex
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package net.runelite.client.eventbus;
|
package net.runelite.client.eventbus;
|
||||||
|
|
||||||
import io.reactivex.Observable;
|
import com.jakewharton.rxrelay2.PublishRelay;
|
||||||
import java.util.List;
|
import com.jakewharton.rxrelay2.Relay;
|
||||||
|
import io.reactivex.annotations.NonNull;
|
||||||
|
import io.reactivex.disposables.CompositeDisposable;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import io.reactivex.functions.Consumer;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
public interface EventBus
|
@Singleton
|
||||||
|
public class EventBus
|
||||||
{
|
{
|
||||||
void post(Object event);
|
private Map<Class<?>, Relay<Object>> subjectList = new HashMap<>();
|
||||||
|
private Map<Object, CompositeDisposable> subscriptionsMap = new HashMap<>();
|
||||||
|
|
||||||
<T> Observable<T> observableOfType(Class<T> eventClass);
|
@NonNull
|
||||||
|
private <T> Relay<Object> getSubject(Class<T> eventClass)
|
||||||
|
{
|
||||||
|
return subjectList.computeIfAbsent(eventClass, k -> PublishRelay.create().toSerialized());
|
||||||
|
}
|
||||||
|
|
||||||
<T> Observable<Object> observableOfTypes(List<Class<T>> eventClasses);
|
@NonNull
|
||||||
|
private CompositeDisposable getCompositeDisposable(@NonNull Object object)
|
||||||
|
{
|
||||||
|
CompositeDisposable compositeDisposable = subscriptionsMap.get(object);
|
||||||
|
if (compositeDisposable == null)
|
||||||
|
{
|
||||||
|
compositeDisposable = new CompositeDisposable();
|
||||||
|
subscriptionsMap.put(object, compositeDisposable);
|
||||||
|
}
|
||||||
|
|
||||||
|
return compositeDisposable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void subscribe(Class<T> eventClass, @NonNull Object lifecycle, @NonNull Consumer<Object> action)
|
||||||
|
{
|
||||||
|
Disposable disposable = getSubject(eventClass).subscribe(action);
|
||||||
|
getCompositeDisposable(lifecycle).add(disposable);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unregister(@NonNull Object lifecycle)
|
||||||
|
{
|
||||||
|
//We have to remove the composition from the map, because once you dispose it can't be used anymore
|
||||||
|
CompositeDisposable compositeDisposable = subscriptionsMap.remove(lifecycle);
|
||||||
|
if (compositeDisposable != null)
|
||||||
|
{
|
||||||
|
compositeDisposable.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void post(Class<T> eventClass, @NonNull Object event)
|
||||||
|
{
|
||||||
|
getSubject(eventClass).accept(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
package net.runelite.client.eventbus;
|
|
||||||
|
|
||||||
import com.jakewharton.rxrelay2.PublishRelay;
|
|
||||||
import com.jakewharton.rxrelay2.Relay;
|
|
||||||
import io.reactivex.Observable;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
public class EventBusImplementation implements EventBus
|
|
||||||
{
|
|
||||||
private final Relay<Object> bus = PublishRelay.create().toSerialized();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void post(Object event)
|
|
||||||
{
|
|
||||||
if (this.bus.hasObservers())
|
|
||||||
{
|
|
||||||
this.bus.accept(event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> Observable<T> observableOfType(Class<T> eventClass)
|
|
||||||
{
|
|
||||||
return this.bus
|
|
||||||
.filter(Objects::nonNull) // Filter out null objects, better safe than sorry
|
|
||||||
.filter(eventClass::isInstance) // We're only interested in a specific event class
|
|
||||||
.cast(eventClass); // Cast it for easier usage
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> Observable<Object> observableOfTypes(List<Class<T>> eventClasses)
|
|
||||||
{
|
|
||||||
return this.bus
|
|
||||||
.filter(Objects::nonNull) // Filter out null objects, better safe than sorry
|
|
||||||
.filter(event -> {
|
|
||||||
for (Class eventClass : eventClasses)
|
|
||||||
{
|
|
||||||
if (eventClass.isInstance(event))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}); // We're only interested in a specific event classes
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -44,7 +44,7 @@ import net.runelite.api.IndexedSprite;
|
|||||||
import net.runelite.api.SpriteID;
|
import net.runelite.api.SpriteID;
|
||||||
import net.runelite.api.events.ClanChanged;
|
import net.runelite.api.events.ClanChanged;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
|
|
||||||
@@ -100,17 +100,14 @@ public class ClanManager
|
|||||||
private ClanManager(
|
private ClanManager(
|
||||||
final Client client,
|
final Client client,
|
||||||
final SpriteManager spriteManager,
|
final SpriteManager spriteManager,
|
||||||
final EventBusImplementation eventbus
|
final EventBus eventbus
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.spriteManager = spriteManager;
|
this.spriteManager = spriteManager;
|
||||||
|
|
||||||
eventbus.observableOfType(GameStateChanged.class)
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
.subscribe(this::onGameStateChanged);
|
eventbus.subscribe(ClanChanged.class, this, o -> this.onClanChanged((ClanChanged) o));
|
||||||
|
|
||||||
eventbus.observableOfType(ClanChanged.class)
|
|
||||||
.subscribe(this::onClanChanged);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ClanMemberRank getRank(String playerName)
|
public ClanMemberRank getRank(String playerName)
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ import net.runelite.api.Sprite;
|
|||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.PostItemDefinition;
|
import net.runelite.api.events.PostItemDefinition;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.http.api.item.ItemClient;
|
import net.runelite.http.api.item.ItemClient;
|
||||||
import net.runelite.http.api.item.ItemPrice;
|
import net.runelite.http.api.item.ItemPrice;
|
||||||
import net.runelite.http.api.item.ItemStats;
|
import net.runelite.http.api.item.ItemStats;
|
||||||
@@ -269,7 +269,7 @@ public class ItemManager
|
|||||||
Client client,
|
Client client,
|
||||||
ScheduledExecutorService executor,
|
ScheduledExecutorService executor,
|
||||||
ClientThread clientThread,
|
ClientThread clientThread,
|
||||||
EventBusImplementation eventbus
|
EventBus eventbus
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
@@ -315,11 +315,9 @@ public class ItemManager
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
eventbus.observableOfType(GameStateChanged.class)
|
|
||||||
.subscribe(this::onGameStateChanged);
|
|
||||||
|
|
||||||
eventbus.observableOfType(PostItemDefinition.class)
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
.subscribe(this::onPostItemDefinition);
|
eventbus.subscribe(PostItemDefinition.class, this, o -> this.onPostItemDefinition((PostItemDefinition) o));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadPrices()
|
private void loadPrices()
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ import net.runelite.api.events.ItemQuantityChanged;
|
|||||||
import net.runelite.api.events.ItemSpawned;
|
import net.runelite.api.events.ItemSpawned;
|
||||||
import net.runelite.api.events.NpcDespawned;
|
import net.runelite.api.events.NpcDespawned;
|
||||||
import net.runelite.api.events.PlayerDespawned;
|
import net.runelite.api.events.PlayerDespawned;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.NpcLootReceived;
|
import net.runelite.client.events.NpcLootReceived;
|
||||||
import net.runelite.client.events.PlayerLootReceived;
|
import net.runelite.client.events.PlayerLootReceived;
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ public class LootManager
|
|||||||
NpcID.CAVE_KRAKEN, AnimationID.CAVE_KRAKEN_DEATH
|
NpcID.CAVE_KRAKEN, AnimationID.CAVE_KRAKEN_DEATH
|
||||||
);
|
);
|
||||||
|
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final ListMultimap<Integer, ItemStack> itemSpawns = ArrayListMultimap.create();
|
private final ListMultimap<Integer, ItemStack> itemSpawns = ArrayListMultimap.create();
|
||||||
private final Set<LocalPoint> killPoints = new HashSet<>();
|
private final Set<LocalPoint> killPoints = new HashSet<>();
|
||||||
@@ -74,33 +74,20 @@ public class LootManager
|
|||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private LootManager(
|
private LootManager(
|
||||||
final EventBusImplementation eventBus,
|
final EventBus eventBus,
|
||||||
final Client client
|
final Client client
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
|
|
||||||
eventBus.observableOfType(GameTick.class)
|
eventBus.subscribe(GameTick.class, this, o -> this.onGameTick((GameTick) o));
|
||||||
.subscribe(this::onGameTick);
|
eventBus.subscribe(NpcDespawned.class, this, o -> this.onNpcDespawned((NpcDespawned) o));
|
||||||
|
eventBus.subscribe(PlayerDespawned.class, this, o -> this.onPlayerDespawned((PlayerDespawned) o));
|
||||||
eventBus.observableOfType(NpcDespawned.class)
|
eventBus.subscribe(ItemSpawned.class, this, o -> this.onItemSpawned((ItemSpawned) o));
|
||||||
.subscribe(this::onNpcDespawned);
|
eventBus.subscribe(ItemDespawned.class, this, o -> this.onItemDespawned((ItemDespawned) o));
|
||||||
|
eventBus.subscribe(ItemQuantityChanged.class, this, o -> this.onItemQuantityChanged((ItemQuantityChanged) o));
|
||||||
eventBus.observableOfType(PlayerDespawned.class)
|
eventBus.subscribe(AnimationChanged.class, this, o -> this.onAnimationChanged((AnimationChanged) o));
|
||||||
.subscribe(this::onPlayerDespawned);
|
|
||||||
|
|
||||||
eventBus.observableOfType(ItemSpawned.class)
|
|
||||||
.subscribe(this::onItemSpawned);
|
|
||||||
|
|
||||||
eventBus.observableOfType(ItemDespawned.class)
|
|
||||||
.subscribe(this::onItemDespawned);
|
|
||||||
|
|
||||||
eventBus.observableOfType(ItemQuantityChanged.class)
|
|
||||||
.subscribe(this::onItemQuantityChanged);
|
|
||||||
|
|
||||||
eventBus.observableOfType(AnimationChanged.class)
|
|
||||||
.subscribe(this::onAnimationChanged);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onNpcDespawned(NpcDespawned npcDespawned)
|
private void onNpcDespawned(NpcDespawned npcDespawned)
|
||||||
@@ -171,7 +158,7 @@ public class LootManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
killPoints.add(location);
|
killPoints.add(location);
|
||||||
eventBus.post(new PlayerLootReceived(player, items));
|
eventBus.post(PlayerLootReceived.class, new PlayerLootReceived(player, items));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onItemSpawned(ItemSpawned itemSpawned)
|
private void onItemSpawned(ItemSpawned itemSpawned)
|
||||||
@@ -273,7 +260,7 @@ public class LootManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
killPoints.add(location);
|
killPoints.add(location);
|
||||||
eventBus.post(new NpcLootReceived(npc, allItems));
|
eventBus.post(NpcLootReceived.class, new NpcLootReceived(npc, allItems));
|
||||||
}
|
}
|
||||||
|
|
||||||
private WorldPoint getDropLocation(NPC npc, WorldPoint worldLocation)
|
private WorldPoint getDropLocation(NPC npc, WorldPoint worldLocation)
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import net.runelite.api.widgets.JavaScriptCallback;
|
|||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.input.MouseListener;
|
import net.runelite.client.input.MouseListener;
|
||||||
@@ -53,7 +53,7 @@ public class ChatboxPanelManager
|
|||||||
{
|
{
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final ClientThread clientThread;
|
private final ClientThread clientThread;
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
|
|
||||||
private final KeyManager keyManager;
|
private final KeyManager keyManager;
|
||||||
private final MouseManager mouseManager;
|
private final MouseManager mouseManager;
|
||||||
@@ -65,7 +65,7 @@ public class ChatboxPanelManager
|
|||||||
private ChatboxInput currentInput = null;
|
private ChatboxInput currentInput = null;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ChatboxPanelManager(EventBusImplementation eventBus, Client client, ClientThread clientThread,
|
private ChatboxPanelManager(EventBus eventBus, Client client, ClientThread clientThread,
|
||||||
KeyManager keyManager, MouseManager mouseManager,
|
KeyManager keyManager, MouseManager mouseManager,
|
||||||
Provider<ChatboxTextMenuInput> chatboxTextMenuInputProvider, Provider<ChatboxTextInput> chatboxTextInputProvider)
|
Provider<ChatboxTextMenuInput> chatboxTextMenuInputProvider, Provider<ChatboxTextInput> chatboxTextInputProvider)
|
||||||
{
|
{
|
||||||
@@ -79,11 +79,9 @@ public class ChatboxPanelManager
|
|||||||
this.chatboxTextMenuInputProvider = chatboxTextMenuInputProvider;
|
this.chatboxTextMenuInputProvider = chatboxTextMenuInputProvider;
|
||||||
this.chatboxTextInputProvider = chatboxTextInputProvider;
|
this.chatboxTextInputProvider = chatboxTextInputProvider;
|
||||||
|
|
||||||
eventBus.observableOfType(ScriptCallbackEvent.class)
|
|
||||||
.subscribe(this::onScriptCallbackEvent);
|
|
||||||
|
|
||||||
eventBus.observableOfType(GameStateChanged.class)
|
eventBus.subscribe(ScriptCallbackEvent.class, this, o -> this.onScriptCallbackEvent((ScriptCallbackEvent) o));
|
||||||
.subscribe(this::onGameStateChanged);
|
eventBus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void close()
|
public void close()
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ import net.runelite.api.events.PlayerMenuOptionsChanged;
|
|||||||
import net.runelite.api.events.WidgetMenuOptionClicked;
|
import net.runelite.api.events.WidgetMenuOptionClicked;
|
||||||
import net.runelite.api.events.WidgetPressed;
|
import net.runelite.api.events.WidgetPressed;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@@ -80,7 +80,7 @@ public class MenuManager
|
|||||||
static final Pattern LEVEL_PATTERN = Pattern.compile("\\(level-[0-9]*\\)");
|
static final Pattern LEVEL_PATTERN = Pattern.compile("\\(level-[0-9]*\\)");
|
||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
|
|
||||||
//Maps the indexes that are being used to the menu option.
|
//Maps the indexes that are being used to the menu option.
|
||||||
private final Map<Integer, String> playerMenuIndexMap = new HashMap<>();
|
private final Map<Integer, String> playerMenuIndexMap = new HashMap<>();
|
||||||
@@ -101,31 +101,19 @@ public class MenuManager
|
|||||||
private MenuEntry firstEntry = null;
|
private MenuEntry firstEntry = null;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private MenuManager(Client client, EventBusImplementation eventBus)
|
private MenuManager(Client client, EventBus eventBus)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
|
|
||||||
eventBus.observableOfType(MenuOpened.class)
|
|
||||||
.subscribe(this::onMenuOpened);
|
|
||||||
|
|
||||||
eventBus.observableOfType(MenuEntryAdded.class)
|
eventBus.subscribe(MenuOpened.class, this, o -> this.onMenuOpened((MenuOpened) o));
|
||||||
.subscribe(this::onMenuEntryAdded);
|
eventBus.subscribe(MenuEntryAdded.class, this, o -> this.onMenuEntryAdded((MenuEntryAdded) o));
|
||||||
|
eventBus.subscribe(BeforeRender.class, this, o -> this.onBeforeRender((BeforeRender) o));
|
||||||
eventBus.observableOfType(BeforeRender.class)
|
eventBus.subscribe(PlayerMenuOptionsChanged.class, this, o -> this.onPlayerMenuOptionsChanged((PlayerMenuOptionsChanged) o));
|
||||||
.subscribe(this::onBeforeRender);
|
eventBus.subscribe(NpcActionChanged.class, this, o -> this.onNpcActionChanged((NpcActionChanged) o));
|
||||||
|
eventBus.subscribe(WidgetPressed.class, this, o -> this.onWidgetPressed((WidgetPressed) o));
|
||||||
eventBus.observableOfType(PlayerMenuOptionsChanged.class)
|
eventBus.subscribe(MenuOptionClicked.class, this, o -> this.onMenuOptionClicked((MenuOptionClicked) o));
|
||||||
.subscribe(this::onPlayerMenuOptionsChanged);
|
|
||||||
|
|
||||||
eventBus.observableOfType(NpcActionChanged.class)
|
|
||||||
.subscribe(this::onNpcActionChanged);
|
|
||||||
|
|
||||||
eventBus.observableOfType(WidgetPressed.class)
|
|
||||||
.subscribe(this::onWidgetPressed);
|
|
||||||
|
|
||||||
eventBus.observableOfType(MenuOptionClicked.class)
|
|
||||||
.subscribe(this::onMenuOptionClicked);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -494,7 +482,7 @@ public class MenuManager
|
|||||||
customMenu.setMenuOption(event.getOption());
|
customMenu.setMenuOption(event.getOption());
|
||||||
customMenu.setMenuTarget(event.getTarget());
|
customMenu.setMenuTarget(event.getTarget());
|
||||||
customMenu.setWidget(curMenuOption.getWidget());
|
customMenu.setWidget(curMenuOption.getWidget());
|
||||||
eventBus.post(customMenu);
|
eventBus.post(WidgetMenuOptionClicked.class, customMenu);
|
||||||
return; // don't continue because it's not a player option
|
return; // don't continue because it's not a player option
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -509,7 +497,7 @@ public class MenuManager
|
|||||||
playerMenuOptionClicked.setMenuOption(event.getOption());
|
playerMenuOptionClicked.setMenuOption(event.getOption());
|
||||||
playerMenuOptionClicked.setMenuTarget(username);
|
playerMenuOptionClicked.setMenuTarget(username);
|
||||||
|
|
||||||
eventBus.post(playerMenuOptionClicked);
|
eventBus.post(PlayerMenuOptionClicked.class, playerMenuOptionClicked);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addPlayerMenuItem(int playerOptionIndex, String menuText)
|
private void addPlayerMenuItem(int playerOptionIndex, String menuText)
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ public abstract class Plugin implements Module
|
|||||||
|
|
||||||
public File file;
|
public File file;
|
||||||
public PluginClassLoader loader;
|
public PluginClassLoader loader;
|
||||||
private List<Disposable> disposables = new ArrayList<>();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(Binder binder)
|
public void configure(Binder binder)
|
||||||
@@ -51,12 +50,6 @@ public abstract class Plugin implements Module
|
|||||||
|
|
||||||
protected void shutDown() throws Exception
|
protected void shutDown() throws Exception
|
||||||
{
|
{
|
||||||
this.disposables.forEach(Disposable::dispose);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void addSubscription(Disposable disposable)
|
|
||||||
{
|
|
||||||
this.disposables.add(disposable);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Injector getInjector()
|
public final Injector getInjector()
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ import net.runelite.client.config.Config;
|
|||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.PluginChanged;
|
import net.runelite.client.events.PluginChanged;
|
||||||
import net.runelite.client.events.SessionClose;
|
import net.runelite.client.events.SessionClose;
|
||||||
import net.runelite.client.events.SessionOpen;
|
import net.runelite.client.events.SessionOpen;
|
||||||
@@ -86,7 +86,7 @@ public class PluginManager
|
|||||||
private static final String PLUGIN_PACKAGE = "net.runelite.client.plugins";
|
private static final String PLUGIN_PACKAGE = "net.runelite.client.plugins";
|
||||||
|
|
||||||
private final boolean developerMode;
|
private final boolean developerMode;
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final Scheduler scheduler;
|
private final Scheduler scheduler;
|
||||||
private final ConfigManager configManager;
|
private final ConfigManager configManager;
|
||||||
private final ScheduledExecutorService executor;
|
private final ScheduledExecutorService executor;
|
||||||
@@ -106,7 +106,7 @@ public class PluginManager
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
PluginManager(
|
PluginManager(
|
||||||
@Named("developerMode") final boolean developerMode,
|
@Named("developerMode") final boolean developerMode,
|
||||||
final EventBusImplementation eventBus,
|
final EventBus eventBus,
|
||||||
final Scheduler scheduler,
|
final Scheduler scheduler,
|
||||||
final ConfigManager configManager,
|
final ConfigManager configManager,
|
||||||
final ScheduledExecutorService executor,
|
final ScheduledExecutorService executor,
|
||||||
@@ -119,11 +119,8 @@ public class PluginManager
|
|||||||
this.executor = executor;
|
this.executor = executor;
|
||||||
this.sceneTileManager = sceneTileManager;
|
this.sceneTileManager = sceneTileManager;
|
||||||
|
|
||||||
eventBus.observableOfType(SessionOpen.class)
|
eventBus.subscribe(SessionOpen.class, this, o -> this.onSessionOpen((SessionOpen) o));
|
||||||
.subscribe(this::onSessionOpen);
|
eventBus.subscribe(SessionClose.class, this, o -> this.onSessionClose((SessionClose) o));
|
||||||
|
|
||||||
eventBus.observableOfType(SessionClose.class)
|
|
||||||
.subscribe(this::onSessionClose);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void watch()
|
public void watch()
|
||||||
@@ -373,7 +370,7 @@ public class PluginManager
|
|||||||
|
|
||||||
// eventBus.register(plugin);
|
// eventBus.register(plugin);
|
||||||
schedule(plugin);
|
schedule(plugin);
|
||||||
eventBus.post(new PluginChanged(plugin, true));
|
eventBus.post(PluginChanged.class, new PluginChanged(plugin, true));
|
||||||
}
|
}
|
||||||
catch (InterruptedException | InvocationTargetException | IllegalArgumentException ex)
|
catch (InterruptedException | InvocationTargetException | IllegalArgumentException ex)
|
||||||
{
|
{
|
||||||
@@ -411,7 +408,7 @@ public class PluginManager
|
|||||||
});
|
});
|
||||||
|
|
||||||
log.debug("Plugin {} is now stopped", plugin.getClass().getSimpleName());
|
log.debug("Plugin {} is now stopped", plugin.getClass().getSimpleName());
|
||||||
eventBus.post(new PluginChanged(plugin, false));
|
eventBus.post(PluginChanged.class, new PluginChanged(plugin, false));
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (InterruptedException | InvocationTargetException ex)
|
catch (InterruptedException | InvocationTargetException ex)
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ import net.runelite.api.events.GameTick;
|
|||||||
import net.runelite.api.events.ProjectileMoved;
|
import net.runelite.api.events.ProjectileMoved;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.PluginType;
|
import net.runelite.client.plugins.PluginType;
|
||||||
@@ -93,7 +93,7 @@ public class AoeWarningPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private List<WorldPoint> LightningTrail = new ArrayList<>();
|
private List<WorldPoint> LightningTrail = new ArrayList<>();
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
@@ -191,41 +191,12 @@ public class AoeWarningPlugin extends Plugin
|
|||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(ProjectileMoved.class, this, o -> this.onProjectileMoved((ProjectileMoved) o));
|
||||||
.observableOfType(ConfigChanged.class)
|
eventbus.subscribe(GameObjectSpawned.class, this, o -> this.onGameObjectSpawned((GameObjectSpawned) o));
|
||||||
.subscribe(this::onConfigChanged)
|
eventbus.subscribe(GameObjectDespawned.class, this, o -> this.onGameObjectDespawned((GameObjectDespawned) o));
|
||||||
);
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
|
eventbus.subscribe(GameTick.class, this, o -> this.onGameTick((GameTick) o));
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(ProjectileMoved.class)
|
|
||||||
.subscribe(this::onProjectileMoved)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameObjectSpawned.class)
|
|
||||||
.subscribe(this::onGameObjectSpawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameObjectDespawned.class)
|
|
||||||
.subscribe(this::onGameObjectDespawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameStateChanged.class)
|
|
||||||
.subscribe(this::onGameStateChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameTick.class)
|
|
||||||
.subscribe(this::onGameTick)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onConfigChanged(ConfigChanged event)
|
private void onConfigChanged(ConfigChanged event)
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ import net.runelite.api.events.ProjectileMoved;
|
|||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
@@ -124,7 +124,7 @@ public class CannonPlugin extends Plugin
|
|||||||
private ClientThread clientThread;
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
|
|
||||||
private boolean lock;
|
private boolean lock;
|
||||||
|
|
||||||
@@ -175,41 +175,12 @@ public class CannonPlugin extends Plugin
|
|||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(ItemContainerChanged.class, this, o -> this.onItemContainerChanged((ItemContainerChanged) o));
|
||||||
.observableOfType(ItemContainerChanged.class)
|
eventbus.subscribe(GameObjectSpawned.class, this, o -> this.onGameObjectSpawned((GameObjectSpawned) o));
|
||||||
.subscribe(this::onItemContainerChanged)
|
eventbus.subscribe(ProjectileMoved.class, this, o -> this.onProjectileMoved((ProjectileMoved) o));
|
||||||
);
|
eventbus.subscribe(ChatMessage.class, this, o -> this.onChatMessage((ChatMessage) o));
|
||||||
|
eventbus.subscribe(GameTick.class, this, o -> this.onGameTick((GameTick) o));
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(ConfigChanged.class)
|
|
||||||
.subscribe(this::onConfigChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameObjectSpawned.class)
|
|
||||||
.subscribe(this::onGameObjectSpawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(ProjectileMoved.class)
|
|
||||||
.subscribe(this::onProjectileMoved)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(ChatMessage.class)
|
|
||||||
.subscribe(this::onChatMessage)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameTick.class)
|
|
||||||
.subscribe(this::onGameTick)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onItemContainerChanged(ItemContainerChanged event)
|
private void onItemContainerChanged(ItemContainerChanged event)
|
||||||
|
|||||||
@@ -66,17 +66,12 @@ import net.runelite.api.SceneTileModel;
|
|||||||
import net.runelite.api.SceneTilePaint;
|
import net.runelite.api.SceneTilePaint;
|
||||||
import net.runelite.api.Texture;
|
import net.runelite.api.Texture;
|
||||||
import net.runelite.api.TextureProvider;
|
import net.runelite.api.TextureProvider;
|
||||||
import net.runelite.api.events.ChatMessage;
|
|
||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
import net.runelite.api.events.GameObjectSpawned;
|
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.GameTick;
|
|
||||||
import net.runelite.api.events.ItemContainerChanged;
|
|
||||||
import net.runelite.api.events.ProjectileMoved;
|
|
||||||
import net.runelite.api.hooks.DrawCallbacks;
|
import net.runelite.api.hooks.DrawCallbacks;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.PluginInstantiationException;
|
import net.runelite.client.plugins.PluginInstantiationException;
|
||||||
@@ -127,7 +122,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
private PluginManager pluginManager;
|
private PluginManager pluginManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
|
|
||||||
private Canvas canvas;
|
private Canvas canvas;
|
||||||
private JAWTWindow jawtWindow;
|
private JAWTWindow jawtWindow;
|
||||||
@@ -450,17 +445,9 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
|
|||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameStateChanged.class)
|
|
||||||
.subscribe(this::onGameStateChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
.observableOfType(ConfigChanged.class)
|
|
||||||
.subscribe(this::onConfigChanged)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ import static net.runelite.client.RuneLite.LOGS_DIR;
|
|||||||
import net.runelite.client.RuneLiteProperties;
|
import net.runelite.client.RuneLiteProperties;
|
||||||
import net.runelite.client.account.SessionManager;
|
import net.runelite.client.account.SessionManager;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.SessionClose;
|
import net.runelite.client.events.SessionClose;
|
||||||
import net.runelite.client.events.SessionOpen;
|
import net.runelite.client.events.SessionOpen;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
@@ -86,7 +86,7 @@ public class InfoPanel extends PluginPanel
|
|||||||
private RuneLiteProperties runeLiteProperties;
|
private RuneLiteProperties runeLiteProperties;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventBus;
|
private EventBus eventBus;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private SessionManager sessionManager;
|
private SessionManager sessionManager;
|
||||||
|
|||||||
@@ -27,9 +27,7 @@ package net.runelite.client.plugins.info;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.api.events.ItemContainerChanged;
|
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.events.SessionClose;
|
import net.runelite.client.events.SessionClose;
|
||||||
import net.runelite.client.events.SessionOpen;
|
import net.runelite.client.events.SessionOpen;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -50,7 +48,7 @@ public class InfoPlugin extends Plugin
|
|||||||
private ClientToolbar clientToolbar;
|
private ClientToolbar clientToolbar;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
|
|
||||||
private NavigationButton navButton;
|
private NavigationButton navButton;
|
||||||
|
|
||||||
@@ -80,23 +78,14 @@ public class InfoPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void shutDown() throws Exception
|
protected void shutDown() throws Exception
|
||||||
{
|
{
|
||||||
super.shutDown();
|
eventbus.unregister(this);
|
||||||
|
|
||||||
clientToolbar.removeNavigation(navButton);
|
clientToolbar.removeNavigation(navButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
eventbus.subscribe(SessionOpen.class, this, o -> panel.onSessionOpen((SessionOpen) o));
|
||||||
this.eventbus
|
eventbus.subscribe(SessionClose.class, this, o -> panel.onSessionClose((SessionClose) o));
|
||||||
.observableOfType(SessionOpen.class)
|
|
||||||
.subscribe(panel::onSessionOpen)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(SessionClose.class)
|
|
||||||
.subscribe(panel::onSessionClose)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ import net.runelite.api.events.NpcDespawned;
|
|||||||
import net.runelite.api.events.NpcSpawned;
|
import net.runelite.api.events.NpcSpawned;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
@@ -117,7 +117,7 @@ public class NpcIndicatorsPlugin extends Plugin
|
|||||||
private ClientThread clientThread;
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
|
|
||||||
@Setter(AccessLevel.PACKAGE)
|
@Setter(AccessLevel.PACKAGE)
|
||||||
private boolean hotKeyPressed = false;
|
private boolean hotKeyPressed = false;
|
||||||
@@ -226,7 +226,7 @@ public class NpcIndicatorsPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void shutDown() throws Exception
|
protected void shutDown() throws Exception
|
||||||
{
|
{
|
||||||
super.shutDown();
|
eventbus.unregister(this);
|
||||||
|
|
||||||
overlayManager.remove(npcSceneOverlay);
|
overlayManager.remove(npcSceneOverlay);
|
||||||
overlayManager.remove(npcMinimapOverlay);
|
overlayManager.remove(npcMinimapOverlay);
|
||||||
@@ -242,65 +242,16 @@ public class NpcIndicatorsPlugin extends Plugin
|
|||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
.observableOfType(GameStateChanged.class)
|
eventbus.subscribe(FocusChanged.class, this, o -> this.onFocusChanged((FocusChanged) o));
|
||||||
.subscribe(this::onGameStateChanged)
|
eventbus.subscribe(MenuEntryAdded.class, this, o -> this.onMenuEntryAdded((MenuEntryAdded) o));
|
||||||
);
|
eventbus.subscribe(MenuOptionClicked.class, this, o -> this.onMenuOptionClicked((MenuOptionClicked) o));
|
||||||
|
eventbus.subscribe(NpcSpawned.class, this, o -> this.onNpcSpawned((NpcSpawned) o));
|
||||||
this.addSubscription(
|
eventbus.subscribe(NpcDefinitionChanged.class, this, o -> this.onNpcDefinitionChanged((NpcDefinitionChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(NpcDespawned.class, this, o -> this.onNpcDespawned((NpcDespawned) o));
|
||||||
.observableOfType(ConfigChanged.class)
|
eventbus.subscribe(GraphicsObjectCreated.class, this, o -> this.onGraphicsObjectCreated((GraphicsObjectCreated) o));
|
||||||
.subscribe(this::onConfigChanged)
|
eventbus.subscribe(GameTick.class, this, o -> this.onGameTick((GameTick) o));
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(FocusChanged.class)
|
|
||||||
.subscribe(this::onFocusChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(MenuEntryAdded.class)
|
|
||||||
.subscribe(this::onMenuEntryAdded)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(MenuOptionClicked.class)
|
|
||||||
.subscribe(this::onMenuOptionClicked)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(NpcSpawned.class)
|
|
||||||
.subscribe(this::onNpcSpawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(NpcDefinitionChanged.class)
|
|
||||||
.subscribe(this::onNpcDefinitionChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(NpcDespawned.class)
|
|
||||||
.subscribe(this::onNpcDespawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GraphicsObjectCreated.class)
|
|
||||||
.subscribe(this::onGraphicsObjectCreated)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameTick.class)
|
|
||||||
.subscribe(this::onGameTick)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onGameStateChanged(GameStateChanged event)
|
private void onGameStateChanged(GameStateChanged event)
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ import net.runelite.api.events.GameStateChanged;
|
|||||||
import net.runelite.api.events.MenuEntryAdded;
|
import net.runelite.api.events.MenuEntryAdded;
|
||||||
import net.runelite.api.events.MenuOptionClicked;
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -109,7 +109,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
|
|||||||
private KeyManager keyManager;
|
private KeyManager keyManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private RenderStyle objectMarkerRenderStyle;
|
private RenderStyle objectMarkerRenderStyle;
|
||||||
@@ -139,13 +139,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
|
|||||||
@Override
|
@Override
|
||||||
protected void shutDown()
|
protected void shutDown()
|
||||||
{
|
{
|
||||||
try
|
eventbus.unregister(this);
|
||||||
{
|
|
||||||
super.shutDown();
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
overlayManager.remove(overlay);
|
overlayManager.remove(overlay);
|
||||||
keyManager.unregisterKeyListener(this);
|
keyManager.unregisterKeyListener(this);
|
||||||
@@ -156,65 +150,15 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
|
|||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(FocusChanged.class, this, o -> this.onFocusChanged((FocusChanged) o));
|
||||||
.observableOfType(FocusChanged.class)
|
eventbus.subscribe(GameObjectSpawned.class, this, o -> this.onGameObjectSpawned((GameObjectSpawned) o));
|
||||||
.subscribe(this::onFocusChanged)
|
eventbus.subscribe(DecorativeObjectSpawned.class, this, o -> this.onDecorativeObjectSpawned((DecorativeObjectSpawned) o));
|
||||||
);
|
eventbus.subscribe(GameObjectDespawned.class, this, o -> this.onGameObjectDespawned((GameObjectDespawned) o));
|
||||||
|
eventbus.subscribe(DecorativeObjectDespawned.class, this, o -> this.onDecorativeObjectDespawned((DecorativeObjectDespawned) o));
|
||||||
this.addSubscription(
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(MenuOptionClicked.class, this, o -> this.onMenuOptionClicked((MenuOptionClicked) o));
|
||||||
.observableOfType(GameObjectSpawned.class)
|
eventbus.subscribe(MenuEntryAdded.class, this, o -> this.onMenuEntryAdded((MenuEntryAdded) o));
|
||||||
.subscribe(this::onGameObjectSpawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(DecorativeObjectSpawned.class)
|
|
||||||
.subscribe(this::onDecorativeObjectSpawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameObjectDespawned.class)
|
|
||||||
.subscribe(this::onGameObjectDespawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(DecorativeObjectDespawned.class)
|
|
||||||
.subscribe(this::onDecorativeObjectDespawned)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameStateChanged.class)
|
|
||||||
.subscribe(this::onGameStateChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(MenuOptionClicked.class)
|
|
||||||
.subscribe(this::onMenuOptionClicked)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(GameStateChanged.class)
|
|
||||||
.subscribe(this::onGameStateChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(MenuEntryAdded.class)
|
|
||||||
.subscribe(this::onMenuEntryAdded)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(ConfigChanged.class)
|
|
||||||
.subscribe(this::onConfigChanged)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import static net.runelite.api.widgets.WidgetInfo.*;
|
|||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.RuneLitePlusConfig;
|
import net.runelite.client.config.RuneLitePlusConfig;
|
||||||
import net.runelite.client.discord.DiscordService;
|
import net.runelite.client.discord.DiscordService;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -106,7 +106,7 @@ public class RuneLitePlusPlugin extends Plugin
|
|||||||
private ClientThread clientThread;
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private EventBusImplementation eventbus;
|
private EventBus eventbus;
|
||||||
|
|
||||||
private final RuneLitePlusKeyListener keyListener = new RuneLitePlusKeyListener();
|
private final RuneLitePlusKeyListener keyListener = new RuneLitePlusKeyListener();
|
||||||
private int entered = -1;
|
private int entered = -1;
|
||||||
@@ -169,7 +169,7 @@ public class RuneLitePlusPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void shutDown() throws Exception
|
protected void shutDown() throws Exception
|
||||||
{
|
{
|
||||||
super.shutDown();
|
eventbus.unregister(this);
|
||||||
|
|
||||||
entered = 0;
|
entered = 0;
|
||||||
enterIdx = 0;
|
enterIdx = 0;
|
||||||
@@ -179,17 +179,8 @@ public class RuneLitePlusPlugin extends Plugin
|
|||||||
|
|
||||||
private void addSubscriptions()
|
private void addSubscriptions()
|
||||||
{
|
{
|
||||||
this.addSubscription(
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
this.eventbus
|
eventbus.subscribe(ScriptCallbackEvent.class, this, o -> this.onScriptCallbackEvent((ScriptCallbackEvent) o));
|
||||||
.observableOfType(ConfigChanged.class)
|
|
||||||
.subscribe(this::onConfigChanged)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.addSubscription(
|
|
||||||
this.eventbus
|
|
||||||
.observableOfType(ScriptCallbackEvent.class)
|
|
||||||
.subscribe(this::onScriptCallbackEvent)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onScriptCallbackEvent(ScriptCallbackEvent e)
|
private void onScriptCallbackEvent(ScriptCallbackEvent e)
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import java.util.Set;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.events.NavigationButtonAdded;
|
import net.runelite.client.events.NavigationButtonAdded;
|
||||||
import net.runelite.client.events.NavigationButtonRemoved;
|
import net.runelite.client.events.NavigationButtonRemoved;
|
||||||
|
|
||||||
@@ -39,11 +38,11 @@ import net.runelite.client.events.NavigationButtonRemoved;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class ClientToolbar
|
public class ClientToolbar
|
||||||
{
|
{
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final Set<NavigationButton> buttons = new HashSet<>();
|
private final Set<NavigationButton> buttons = new HashSet<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ClientToolbar(final EventBusImplementation eventBus)
|
private ClientToolbar(final EventBus eventBus)
|
||||||
{
|
{
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
}
|
}
|
||||||
@@ -62,7 +61,7 @@ public class ClientToolbar
|
|||||||
|
|
||||||
if (buttons.add(button))
|
if (buttons.add(button))
|
||||||
{
|
{
|
||||||
eventBus.post(new NavigationButtonAdded(button));
|
eventBus.post(NavigationButtonAdded.class, new NavigationButtonAdded(button));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,7 +74,7 @@ public class ClientToolbar
|
|||||||
{
|
{
|
||||||
if (buttons.remove(button))
|
if (buttons.remove(button))
|
||||||
{
|
{
|
||||||
eventBus.post(new NavigationButtonRemoved(button));
|
eventBus.post(NavigationButtonRemoved.class, new NavigationButtonRemoved(button));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ import net.runelite.client.config.ExpandResizeType;
|
|||||||
import net.runelite.client.config.Keybind;
|
import net.runelite.client.config.Keybind;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.config.WarningOnExit;
|
import net.runelite.client.config.WarningOnExit;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.NavigationButtonAdded;
|
import net.runelite.client.events.NavigationButtonAdded;
|
||||||
import net.runelite.client.events.NavigationButtonRemoved;
|
import net.runelite.client.events.NavigationButtonRemoved;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
@@ -159,7 +159,7 @@ public class ClientUI
|
|||||||
@Nullable Applet client,
|
@Nullable Applet client,
|
||||||
ConfigManager configManager,
|
ConfigManager configManager,
|
||||||
Provider<ClientThread> clientThreadProvider,
|
Provider<ClientThread> clientThreadProvider,
|
||||||
EventBusImplementation eventbus)
|
EventBus eventbus)
|
||||||
{
|
{
|
||||||
this.properties = properties;
|
this.properties = properties;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
@@ -169,17 +169,10 @@ public class ClientUI
|
|||||||
this.configManager = configManager;
|
this.configManager = configManager;
|
||||||
this.clientThreadProvider = clientThreadProvider;
|
this.clientThreadProvider = clientThreadProvider;
|
||||||
|
|
||||||
eventbus.observableOfType(ConfigChanged.class)
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
.subscribe(this::onConfigChanged);
|
eventbus.subscribe(NavigationButtonAdded.class, this, o -> this.onNavigationButtonAdded((NavigationButtonAdded) o));
|
||||||
|
eventbus.subscribe(NavigationButtonRemoved.class, this, o -> this.onNavigationButtonRemoved((NavigationButtonRemoved) o));
|
||||||
eventbus.observableOfType(NavigationButtonAdded.class)
|
eventbus.subscribe(GameStateChanged.class, this, o -> this.onGameStateChanged((GameStateChanged) o));
|
||||||
.subscribe(this::onNavigationButtonAdded);
|
|
||||||
|
|
||||||
eventbus.observableOfType(NavigationButtonRemoved.class)
|
|
||||||
.subscribe(this::onNavigationButtonRemoved);
|
|
||||||
|
|
||||||
eventbus.observableOfType(GameStateChanged.class)
|
|
||||||
.subscribe(this::onGameStateChanged);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onConfigChanged(ConfigChanged event)
|
private void onConfigChanged(ConfigChanged event)
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ import net.runelite.client.config.ConfigGroup;
|
|||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.client.events.OverlayMenuClicked;
|
import net.runelite.client.events.OverlayMenuClicked;
|
||||||
import net.runelite.client.events.PluginChanged;
|
import net.runelite.client.events.PluginChanged;
|
||||||
|
|
||||||
@@ -104,19 +103,16 @@ public class OverlayManager
|
|||||||
private final Map<OverlayLayer, List<Overlay>> overlayLayers = new EnumMap<>(OverlayLayer.class);
|
private final Map<OverlayLayer, List<Overlay>> overlayLayers = new EnumMap<>(OverlayLayer.class);
|
||||||
|
|
||||||
private final ConfigManager configManager;
|
private final ConfigManager configManager;
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private OverlayManager(final ConfigManager configManager, final EventBusImplementation eventBus)
|
private OverlayManager(final ConfigManager configManager, final EventBus eventBus)
|
||||||
{
|
{
|
||||||
this.configManager = configManager;
|
this.configManager = configManager;
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
|
|
||||||
eventBus.observableOfType(PluginChanged.class)
|
eventBus.subscribe(PluginChanged.class, this, o -> this.onPluginChanged((PluginChanged) o));
|
||||||
.subscribe(this::onPluginChanged);
|
eventBus.subscribe(MenuOptionClicked.class, this, o -> this.onMenuOptionClicked((MenuOptionClicked) o));
|
||||||
|
|
||||||
eventBus.observableOfType(MenuOptionClicked.class)
|
|
||||||
.subscribe(this::onMenuOptionClicked);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onPluginChanged(final PluginChanged event)
|
private void onPluginChanged(final PluginChanged event)
|
||||||
@@ -142,7 +138,7 @@ public class OverlayManager
|
|||||||
Optional<OverlayMenuEntry> optionalOverlayMenuEntry = menuEntries.stream()
|
Optional<OverlayMenuEntry> optionalOverlayMenuEntry = menuEntries.stream()
|
||||||
.filter(me -> me.getOption().equals(event.getOption()))
|
.filter(me -> me.getOption().equals(event.getOption()))
|
||||||
.findAny();
|
.findAny();
|
||||||
optionalOverlayMenuEntry.ifPresent(overlayMenuEntry -> eventBus.post(new OverlayMenuClicked(overlayMenuEntry, overlay)));
|
optionalOverlayMenuEntry.ifPresent(overlayMenuEntry -> eventBus.post(OverlayMenuClicked.class, new OverlayMenuClicked(overlayMenuEntry, overlay)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,16 +50,15 @@ import net.runelite.api.events.FocusChanged;
|
|||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.input.MouseAdapter;
|
import net.runelite.client.input.MouseAdapter;
|
||||||
import net.runelite.client.input.MouseManager;
|
import net.runelite.client.input.MouseManager;
|
||||||
|
import net.runelite.client.ui.FontManager;
|
||||||
import net.runelite.client.ui.JagexColors;
|
import net.runelite.client.ui.JagexColors;
|
||||||
import net.runelite.client.util.ColorUtil;
|
import net.runelite.client.util.ColorUtil;
|
||||||
import net.runelite.client.ui.FontManager;
|
|
||||||
import net.runelite.client.util.MiscUtils;
|
import net.runelite.client.util.MiscUtils;
|
||||||
import net.runelite.http.api.ws.messages.party.UserPart;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class OverlayRenderer extends MouseAdapter implements KeyListener
|
public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||||
@@ -103,7 +102,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
final RuneLiteConfig runeLiteConfig,
|
final RuneLiteConfig runeLiteConfig,
|
||||||
final MouseManager mouseManager,
|
final MouseManager mouseManager,
|
||||||
final KeyManager keyManager,
|
final KeyManager keyManager,
|
||||||
final EventBusImplementation eventbus)
|
final EventBus eventbus)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.overlayManager = overlayManager;
|
this.overlayManager = overlayManager;
|
||||||
@@ -112,17 +111,10 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
|||||||
keyManager.registerKeyListener(this);
|
keyManager.registerKeyListener(this);
|
||||||
mouseManager.registerMouseListener(this);
|
mouseManager.registerMouseListener(this);
|
||||||
|
|
||||||
eventbus.observableOfType(ConfigChanged.class)
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
.subscribe(this::onConfigChanged);
|
eventbus.subscribe(FocusChanged.class, this, o -> this.onFocusChanged((FocusChanged) o));
|
||||||
|
eventbus.subscribe(ClientTick.class, this, o -> this.onClientTick((ClientTick) o));
|
||||||
eventbus.observableOfType(FocusChanged.class)
|
eventbus.subscribe(BeforeRender.class, this, o -> this.onBeforeRender((BeforeRender) o));
|
||||||
.subscribe(this::onFocusChanged);
|
|
||||||
|
|
||||||
eventbus.observableOfType(ClientTick.class)
|
|
||||||
.subscribe(this::onClientTick);
|
|
||||||
|
|
||||||
eventbus.observableOfType(BeforeRender.class)
|
|
||||||
.subscribe(this::onBeforeRender);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateConfig()
|
private void updateConfig()
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import javax.inject.Singleton;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@@ -50,11 +50,11 @@ public class InfoBoxManager
|
|||||||
private final RuneLiteConfig runeLiteConfig;
|
private final RuneLiteConfig runeLiteConfig;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private InfoBoxManager(final RuneLiteConfig runeLiteConfig, final EventBusImplementation eventbus)
|
private InfoBoxManager(final RuneLiteConfig runeLiteConfig, final EventBus eventbus)
|
||||||
{
|
{
|
||||||
this.runeLiteConfig = runeLiteConfig;
|
this.runeLiteConfig = runeLiteConfig;
|
||||||
eventbus.observableOfType(ConfigChanged.class)
|
|
||||||
.subscribe(this::onConfigChanged);
|
eventbus.subscribe(ConfigChanged.class, this, o -> this.onConfigChanged((ConfigChanged) o));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onConfigChanged(ConfigChanged event)
|
private void onConfigChanged(ConfigChanged event)
|
||||||
|
|||||||
@@ -24,28 +24,31 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.util;
|
package net.runelite.client.util;
|
||||||
|
|
||||||
|
import io.reactivex.annotations.NonNull;
|
||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class DeferredEventBus extends EventBusImplementation
|
public class DeferredEventBus extends EventBus
|
||||||
{
|
{
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final Queue<Object> pendingEvents = new ConcurrentLinkedQueue<>();
|
private final Queue<Pair<Class, Object>> pendingEvents = new ConcurrentLinkedQueue<>();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private DeferredEventBus(EventBusImplementation eventBus)
|
private DeferredEventBus(EventBus eventBus)
|
||||||
{
|
{
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void post(Object object)
|
public <T> void post(Class<T> eventClass, @NonNull Object event)
|
||||||
{
|
{
|
||||||
pendingEvents.add(object);
|
pendingEvents.add(new ImmutablePair<>(eventClass, event));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void replay()
|
public void replay()
|
||||||
@@ -53,10 +56,10 @@ public class DeferredEventBus extends EventBusImplementation
|
|||||||
int size = pendingEvents.size();
|
int size = pendingEvents.size();
|
||||||
while (size-- > 0)
|
while (size-- > 0)
|
||||||
{
|
{
|
||||||
Object object = pendingEvents.poll();
|
Pair<Class, Object> eventPair = pendingEvents.poll();
|
||||||
if (object != null)
|
if (eventPair != null)
|
||||||
{
|
{
|
||||||
eventBus.post(object);
|
eventBus.post(eventPair.getKey(), eventPair.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,12 +51,11 @@ import net.runelite.api.events.PlayerSpawned;
|
|||||||
import net.runelite.api.events.WallObjectSpawned;
|
import net.runelite.api.events.WallObjectSpawned;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class GameEventManager
|
public class GameEventManager
|
||||||
{
|
{
|
||||||
private final EventBusImplementation eventBus = new EventBusImplementation();
|
private final EventBus eventBus = new EventBus();
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final ClientThread clientThread;
|
private final ClientThread clientThread;
|
||||||
|
|
||||||
@@ -119,7 +118,7 @@ public class GameEventManager
|
|||||||
|
|
||||||
if (itemContainer != null)
|
if (itemContainer != null)
|
||||||
{
|
{
|
||||||
eventBus.post(new ItemContainerChanged(inventory.getId(), itemContainer));
|
eventBus.post(ItemContainerChanged.class, new ItemContainerChanged(inventory.getId(), itemContainer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,7 +127,7 @@ public class GameEventManager
|
|||||||
if (npc != null)
|
if (npc != null)
|
||||||
{
|
{
|
||||||
final NpcSpawned npcSpawned = new NpcSpawned(npc);
|
final NpcSpawned npcSpawned = new NpcSpawned(npc);
|
||||||
eventBus.post(npcSpawned);
|
eventBus.post(NpcSpawned.class, npcSpawned);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +136,7 @@ public class GameEventManager
|
|||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
final PlayerSpawned playerSpawned = new PlayerSpawned(player);
|
final PlayerSpawned playerSpawned = new PlayerSpawned(player);
|
||||||
eventBus.post(playerSpawned);
|
eventBus.post(PlayerSpawned.class, playerSpawned);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +147,7 @@ public class GameEventManager
|
|||||||
final WallObjectSpawned objectSpawned = new WallObjectSpawned();
|
final WallObjectSpawned objectSpawned = new WallObjectSpawned();
|
||||||
objectSpawned.setTile(tile);
|
objectSpawned.setTile(tile);
|
||||||
objectSpawned.setWallObject(object);
|
objectSpawned.setWallObject(object);
|
||||||
eventBus.post(objectSpawned);
|
eventBus.post(WallObjectSpawned.class, objectSpawned);
|
||||||
});
|
});
|
||||||
|
|
||||||
Optional.ofNullable(tile.getDecorativeObject()).ifPresent(object ->
|
Optional.ofNullable(tile.getDecorativeObject()).ifPresent(object ->
|
||||||
@@ -156,7 +155,7 @@ public class GameEventManager
|
|||||||
final DecorativeObjectSpawned objectSpawned = new DecorativeObjectSpawned();
|
final DecorativeObjectSpawned objectSpawned = new DecorativeObjectSpawned();
|
||||||
objectSpawned.setTile(tile);
|
objectSpawned.setTile(tile);
|
||||||
objectSpawned.setDecorativeObject(object);
|
objectSpawned.setDecorativeObject(object);
|
||||||
eventBus.post(objectSpawned);
|
eventBus.post(DecorativeObjectSpawned.class, objectSpawned);
|
||||||
});
|
});
|
||||||
|
|
||||||
Optional.ofNullable(tile.getGroundObject()).ifPresent(object ->
|
Optional.ofNullable(tile.getGroundObject()).ifPresent(object ->
|
||||||
@@ -164,7 +163,7 @@ public class GameEventManager
|
|||||||
final GroundObjectSpawned objectSpawned = new GroundObjectSpawned();
|
final GroundObjectSpawned objectSpawned = new GroundObjectSpawned();
|
||||||
objectSpawned.setTile(tile);
|
objectSpawned.setTile(tile);
|
||||||
objectSpawned.setGroundObject(object);
|
objectSpawned.setGroundObject(object);
|
||||||
eventBus.post(objectSpawned);
|
eventBus.post(GroundObjectSpawned.class, objectSpawned);
|
||||||
});
|
});
|
||||||
|
|
||||||
Arrays.stream(tile.getGameObjects())
|
Arrays.stream(tile.getGameObjects())
|
||||||
@@ -174,7 +173,7 @@ public class GameEventManager
|
|||||||
final GameObjectSpawned objectSpawned = new GameObjectSpawned();
|
final GameObjectSpawned objectSpawned = new GameObjectSpawned();
|
||||||
objectSpawned.setTile(tile);
|
objectSpawned.setTile(tile);
|
||||||
objectSpawned.setGameObject(object);
|
objectSpawned.setGameObject(object);
|
||||||
eventBus.post(objectSpawned);
|
eventBus.post(GameObjectSpawned.class, objectSpawned);
|
||||||
});
|
});
|
||||||
|
|
||||||
Optional.ofNullable(tile.getItemLayer()).ifPresent(itemLayer ->
|
Optional.ofNullable(tile.getItemLayer()).ifPresent(itemLayer ->
|
||||||
@@ -188,7 +187,7 @@ public class GameEventManager
|
|||||||
current = current.getNext();
|
current = current.getNext();
|
||||||
|
|
||||||
final ItemSpawned itemSpawned = new ItemSpawned(tile, item);
|
final ItemSpawned itemSpawned = new ItemSpawned(tile, item);
|
||||||
eventBus.post(itemSpawned);
|
eventBus.post(ItemSpawned.class, itemSpawned);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -33,10 +33,9 @@ import javax.inject.Singleton;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
|
||||||
import net.runelite.client.account.AccountSession;
|
import net.runelite.client.account.AccountSession;
|
||||||
import net.runelite.client.account.SessionManager;
|
import net.runelite.client.account.SessionManager;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.PartyChanged;
|
import net.runelite.client.events.PartyChanged;
|
||||||
import net.runelite.http.api.ws.messages.party.Join;
|
import net.runelite.http.api.ws.messages.party.Join;
|
||||||
import net.runelite.http.api.ws.messages.party.Part;
|
import net.runelite.http.api.ws.messages.party.Part;
|
||||||
@@ -52,7 +51,7 @@ public class PartyService
|
|||||||
|
|
||||||
private final WSClient wsClient;
|
private final WSClient wsClient;
|
||||||
private final SessionManager sessionManager;
|
private final SessionManager sessionManager;
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final List<PartyMember> members = new ArrayList<>();
|
private final List<PartyMember> members = new ArrayList<>();
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@@ -65,17 +64,14 @@ public class PartyService
|
|||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private PartyService(final WSClient wsClient, final SessionManager sessionManager, final EventBusImplementation eventBus)
|
private PartyService(final WSClient wsClient, final SessionManager sessionManager, final EventBus eventBus)
|
||||||
{
|
{
|
||||||
this.wsClient = wsClient;
|
this.wsClient = wsClient;
|
||||||
this.sessionManager = sessionManager;
|
this.sessionManager = sessionManager;
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
|
|
||||||
eventBus.observableOfType(UserJoin.class)
|
eventBus.subscribe(UserJoin.class, this, o -> this.onUserJoin((UserJoin) o));
|
||||||
.subscribe(this::onUserJoin);
|
eventBus.subscribe(UserPart.class, this, o -> this.onUserPart((UserPart) o));
|
||||||
|
|
||||||
eventBus.observableOfType(UserPart.class)
|
|
||||||
.subscribe(this::onUserPart);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void changeParty(UUID newParty)
|
public void changeParty(UUID newParty)
|
||||||
@@ -100,7 +96,7 @@ public class PartyService
|
|||||||
wsClient.changeSession(null);
|
wsClient.changeSession(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
eventBus.post(new PartyChanged(partyId));
|
eventBus.post(PartyChanged.class, new PartyChanged(partyId));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +109,7 @@ public class PartyService
|
|||||||
wsClient.changeSession(uuid);
|
wsClient.changeSession(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
eventBus.post(new PartyChanged(partyId));
|
eventBus.post(PartyChanged.class, new PartyChanged(partyId));
|
||||||
wsClient.send(new Join(partyId, username));
|
wsClient.send(new Join(partyId, username));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import javax.inject.Singleton;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.eventbus.EventBusImplementation;
|
|
||||||
import net.runelite.http.api.RuneLiteAPI;
|
import net.runelite.http.api.RuneLiteAPI;
|
||||||
import net.runelite.http.api.ws.WebsocketGsonFactory;
|
import net.runelite.http.api.ws.WebsocketGsonFactory;
|
||||||
import net.runelite.http.api.ws.WebsocketMessage;
|
import net.runelite.http.api.ws.WebsocketMessage;
|
||||||
@@ -50,7 +49,7 @@ import okhttp3.WebSocketListener;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class WSClient extends WebSocketListener implements AutoCloseable
|
public class WSClient extends WebSocketListener implements AutoCloseable
|
||||||
{
|
{
|
||||||
private final EventBusImplementation eventBus;
|
private final EventBus eventBus;
|
||||||
private final Collection<Class<? extends WebsocketMessage>> messages = new HashSet<>();
|
private final Collection<Class<? extends WebsocketMessage>> messages = new HashSet<>();
|
||||||
|
|
||||||
private volatile Gson gson;
|
private volatile Gson gson;
|
||||||
@@ -59,7 +58,7 @@ public class WSClient extends WebSocketListener implements AutoCloseable
|
|||||||
private WebSocket webSocket;
|
private WebSocket webSocket;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private WSClient(EventBusImplementation eventBus)
|
private WSClient(EventBus eventBus)
|
||||||
{
|
{
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
this.gson = WebsocketGsonFactory.build(WebsocketGsonFactory.factory(messages));
|
this.gson = WebsocketGsonFactory.build(WebsocketGsonFactory.factory(messages));
|
||||||
@@ -175,7 +174,7 @@ public class WSClient extends WebSocketListener implements AutoCloseable
|
|||||||
}
|
}
|
||||||
|
|
||||||
log.debug("Got: {}", text);
|
log.debug("Got: {}", text);
|
||||||
eventBus.post(message);
|
eventBus.post(PartyMessage.class, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
{
|
{
|
||||||
AnimationChanged animationChange = new AnimationChanged();
|
AnimationChanged animationChange = new AnimationChanged();
|
||||||
animationChange.setActor(this);
|
animationChange.setActor(this);
|
||||||
client.getCallbacks().post(animationChange);
|
client.getCallbacks().post(AnimationChanged.class, animationChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("spotAnimation")
|
@FieldHook("spotAnimation")
|
||||||
@@ -197,7 +197,7 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
{
|
{
|
||||||
SpotAnimationChanged spotAnimationChanged = new SpotAnimationChanged();
|
SpotAnimationChanged spotAnimationChanged = new SpotAnimationChanged();
|
||||||
spotAnimationChanged.setActor(this);
|
spotAnimationChanged.setActor(this);
|
||||||
client.getCallbacks().post(spotAnimationChanged);
|
client.getCallbacks().post(SpotAnimationChanged.class, spotAnimationChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("targetIndex")
|
@FieldHook("targetIndex")
|
||||||
@@ -205,7 +205,7 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
public void interactingChanged(int idx)
|
public void interactingChanged(int idx)
|
||||||
{
|
{
|
||||||
InteractingChanged interactingChanged = new InteractingChanged(this, getInteracting());
|
InteractingChanged interactingChanged = new InteractingChanged(this, getInteracting());
|
||||||
client.getCallbacks().post(interactingChanged);
|
client.getCallbacks().post(InteractingChanged.class, interactingChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("overheadText")
|
@FieldHook("overheadText")
|
||||||
@@ -216,7 +216,7 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
if (overheadText != null)
|
if (overheadText != null)
|
||||||
{
|
{
|
||||||
OverheadTextChanged overheadTextChanged = new OverheadTextChanged(this, overheadText);
|
OverheadTextChanged overheadTextChanged = new OverheadTextChanged(this, overheadText);
|
||||||
client.getCallbacks().post(overheadTextChanged);
|
client.getCallbacks().post(OverheadTextChanged.class, overheadTextChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
client.getLogger().debug("You died!");
|
client.getLogger().debug("You died!");
|
||||||
|
|
||||||
LocalPlayerDeath event = LocalPlayerDeath.INSTANCE;
|
LocalPlayerDeath event = LocalPlayerDeath.INSTANCE;
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(LocalPlayerDeath.class, event);
|
||||||
}
|
}
|
||||||
else if (this instanceof RSNPC)
|
else if (this instanceof RSNPC)
|
||||||
{
|
{
|
||||||
@@ -281,6 +281,6 @@ public abstract class RSActorMixin implements RSActor
|
|||||||
final HitsplatApplied event = new HitsplatApplied();
|
final HitsplatApplied event = new HitsplatApplied();
|
||||||
event.setActor(this);
|
event.setActor(this);
|
||||||
event.setHitsplat(hitsplat);
|
event.setHitsplat(hitsplat);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(HitsplatApplied.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public abstract class RSClanChatMixin implements RSClanChat
|
|||||||
}
|
}
|
||||||
|
|
||||||
ClanMemberJoined event = new ClanMemberJoined(member);
|
ClanMemberJoined event = new ClanMemberJoined(member);
|
||||||
client.getCallbacks().postDeferred(event);
|
client.getCallbacks().postDeferred(ClanMemberJoined.class, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -42,6 +42,6 @@ public abstract class RSClanChatMixin implements RSClanChat
|
|||||||
}
|
}
|
||||||
|
|
||||||
ClanMemberLeft event = new ClanMemberLeft(member);
|
ClanMemberLeft event = new ClanMemberLeft(member);
|
||||||
client.getCallbacks().postDeferred(event);
|
client.getCallbacks().postDeferred(ClanMemberLeft.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -698,7 +698,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(MenuEntryAdded.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -909,7 +909,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
DraggingWidgetChanged draggingWidgetChanged = new DraggingWidgetChanged();
|
DraggingWidgetChanged draggingWidgetChanged = new DraggingWidgetChanged();
|
||||||
draggingWidgetChanged.setDraggingWidget(client.isDraggingWidget());
|
draggingWidgetChanged.setDraggingWidget(client.isDraggingWidget());
|
||||||
client.getCallbacks().post(draggingWidgetChanged);
|
client.getCallbacks().post(DraggingWidgetChanged.class, draggingWidgetChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -947,7 +947,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
WidgetLoaded event = new WidgetLoaded();
|
WidgetLoaded event = new WidgetLoaded();
|
||||||
event.setGroupId(groupId);
|
event.setGroupId(groupId);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(WidgetLoaded.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -985,7 +985,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
Skill updatedSkill = possibleSkills[idx];
|
Skill updatedSkill = possibleSkills[idx];
|
||||||
experienceChanged.setSkill(updatedSkill);
|
experienceChanged.setSkill(updatedSkill);
|
||||||
client.getCallbacks().post(experienceChanged);
|
client.getCallbacks().post(ExperienceChanged.class, experienceChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1000,7 +1000,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
Skill updatedSkill = skills[idx];
|
Skill updatedSkill = skills[idx];
|
||||||
BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged();
|
BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged();
|
||||||
boostedLevelChanged.setSkill(updatedSkill);
|
boostedLevelChanged.setSkill(updatedSkill);
|
||||||
client.getCallbacks().post(boostedLevelChanged);
|
client.getCallbacks().post(BoostedLevelChanged.class, boostedLevelChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1019,7 +1019,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
|
|
||||||
PlayerMenuOptionsChanged optionsChanged = new PlayerMenuOptionsChanged();
|
PlayerMenuOptionsChanged optionsChanged = new PlayerMenuOptionsChanged();
|
||||||
optionsChanged.setIndex(idx);
|
optionsChanged.setIndex(idx);
|
||||||
client.getCallbacks().post(optionsChanged);
|
client.getCallbacks().post(PlayerMenuOptionsChanged.class, optionsChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("gameState")
|
@FieldHook("gameState")
|
||||||
@@ -1028,7 +1028,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
GameStateChanged gameStateChange = new GameStateChanged();
|
GameStateChanged gameStateChange = new GameStateChanged();
|
||||||
gameStateChange.setGameState(client.getGameState());
|
gameStateChange.setGameState(client.getGameState());
|
||||||
client.getCallbacks().post(gameStateChange);
|
client.getCallbacks().post(GameStateChanged.class, gameStateChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1047,7 +1047,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
npc.setIndex(idx);
|
npc.setIndex(idx);
|
||||||
|
|
||||||
client.getCallbacks().postDeferred(new NpcSpawned(npc));
|
client.getCallbacks().postDeferred(NpcSpawned.class, new NpcSpawned(npc));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1067,11 +1067,11 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
|
|
||||||
if (oldPlayer != null)
|
if (oldPlayer != null)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new PlayerDespawned(oldPlayer));
|
client.getCallbacks().post(PlayerDespawned.class, new PlayerDespawned(oldPlayer));
|
||||||
}
|
}
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
client.getCallbacks().postDeferred(new PlayerSpawned(player));
|
client.getCallbacks().postDeferred(PlayerSpawned.class, new PlayerSpawned(player));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1094,7 +1094,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
GrandExchangeOfferChanged offerChangedEvent = new GrandExchangeOfferChanged();
|
GrandExchangeOfferChanged offerChangedEvent = new GrandExchangeOfferChanged();
|
||||||
offerChangedEvent.setOffer(internalOffer);
|
offerChangedEvent.setOffer(internalOffer);
|
||||||
offerChangedEvent.setSlot(idx);
|
offerChangedEvent.setSlot(idx);
|
||||||
client.getCallbacks().post(offerChangedEvent);
|
client.getCallbacks().post(GrandExchangeOfferChanged.class, offerChangedEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("Varps_main")
|
@FieldHook("Varps_main")
|
||||||
@@ -1103,7 +1103,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
VarbitChanged varbitChanged = new VarbitChanged();
|
VarbitChanged varbitChanged = new VarbitChanged();
|
||||||
varbitChanged.setIndex(idx);
|
varbitChanged.setIndex(idx);
|
||||||
client.getCallbacks().post(varbitChanged);
|
client.getCallbacks().post(VarbitChanged.class, varbitChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("isResizable")
|
@FieldHook("isResizable")
|
||||||
@@ -1117,7 +1117,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
ResizeableChanged resizeableChanged = new ResizeableChanged();
|
ResizeableChanged resizeableChanged = new ResizeableChanged();
|
||||||
resizeableChanged.setResized(isResized);
|
resizeableChanged.setResized(isResized);
|
||||||
client.getCallbacks().post(resizeableChanged);
|
client.getCallbacks().post(ResizeableChanged.class, resizeableChanged);
|
||||||
|
|
||||||
oldIsResized = isResized;
|
oldIsResized = isResized;
|
||||||
}
|
}
|
||||||
@@ -1127,21 +1127,21 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@Inject
|
@Inject
|
||||||
public static void clanMemberManagerChanged(int idx)
|
public static void clanMemberManagerChanged(int idx)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new ClanChanged(client.getClanMemberManager() != null));
|
client.getCallbacks().post(ClanChanged.class, new ClanChanged(client.getClanMemberManager() != null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("canvasWidth")
|
@FieldHook("canvasWidth")
|
||||||
@Inject
|
@Inject
|
||||||
public static void canvasWidthChanged(int idx)
|
public static void canvasWidthChanged(int idx)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(CanvasSizeChanged.INSTANCE);
|
client.getCallbacks().post(CanvasSizeChanged.class, CanvasSizeChanged.INSTANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("canvasHeight")
|
@FieldHook("canvasHeight")
|
||||||
@Inject
|
@Inject
|
||||||
public static void canvasHeightChanged(int idx)
|
public static void canvasHeightChanged(int idx)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(CanvasSizeChanged.INSTANCE);
|
client.getCallbacks().post(CanvasSizeChanged.class, CanvasSizeChanged.INSTANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -1305,7 +1305,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
authentic
|
authentic
|
||||||
);
|
);
|
||||||
|
|
||||||
client.getCallbacks().post(menuOptionClicked);
|
client.getCallbacks().post(MenuOptionClicked.class, menuOptionClicked);
|
||||||
|
|
||||||
if (menuOptionClicked.isConsumed())
|
if (menuOptionClicked.isConsumed())
|
||||||
{
|
{
|
||||||
@@ -1329,7 +1329,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
if (client.getTempMenuAction() != null)
|
if (client.getTempMenuAction() != null)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(WidgetPressed.INSTANCE);
|
client.getCallbacks().post(WidgetPressed.class, WidgetPressed.INSTANCE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1337,7 +1337,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@Inject
|
@Inject
|
||||||
public static void onUsernameChanged(int idx)
|
public static void onUsernameChanged(int idx)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(UsernameChanged.INSTANCE);
|
client.getCallbacks().post(UsernameChanged.class, UsernameChanged.INSTANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1368,7 +1368,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
{
|
{
|
||||||
final MenuOpened event = new MenuOpened();
|
final MenuOpened event = new MenuOpened();
|
||||||
event.setMenuEntries(getMenuEntries());
|
event.setMenuEntries(getMenuEntries());
|
||||||
callbacks.post(event);
|
callbacks.post(MenuOpened.class, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -1395,7 +1395,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
|
|
||||||
final ChatMessageType chatMessageType = ChatMessageType.of(type);
|
final ChatMessageType chatMessageType = ChatMessageType.of(type);
|
||||||
final ChatMessage chatMessage = new ChatMessage(messageNode, chatMessageType, name, message, sender, messageNode.getTimestamp());
|
final ChatMessage chatMessage = new ChatMessage(messageNode, chatMessageType, name, message, sender, messageNode.getTimestamp());
|
||||||
client.getCallbacks().post(chatMessage);
|
client.getCallbacks().post(ChatMessage.class, chatMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -1579,7 +1579,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@FieldHook("cycleCntr")
|
@FieldHook("cycleCntr")
|
||||||
public static void onCycleCntrChanged(int idx)
|
public static void onCycleCntrChanged(int idx)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(ClientTick.INSTANCE);
|
client.getCallbacks().post(ClientTick.class, ClientTick.INSTANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Copy("shouldLeftClickOpenMenu")
|
@Copy("shouldLeftClickOpenMenu")
|
||||||
@@ -1597,7 +1597,7 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
MenuShouldLeftClick menuShouldLeftClick = new MenuShouldLeftClick();
|
MenuShouldLeftClick menuShouldLeftClick = new MenuShouldLeftClick();
|
||||||
client.getCallbacks().post(menuShouldLeftClick);
|
client.getCallbacks().post(MenuShouldLeftClick.class, menuShouldLeftClick);
|
||||||
|
|
||||||
if (menuShouldLeftClick.isForceRightClick())
|
if (menuShouldLeftClick.isForceRightClick())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject
|
|||||||
DynamicObjectAnimationChanged dynamicObjectAnimationChanged = new DynamicObjectAnimationChanged();
|
DynamicObjectAnimationChanged dynamicObjectAnimationChanged = new DynamicObjectAnimationChanged();
|
||||||
dynamicObjectAnimationChanged.setObject(id);
|
dynamicObjectAnimationChanged.setObject(id);
|
||||||
dynamicObjectAnimationChanged.setAnimation(animationID);
|
dynamicObjectAnimationChanged.setAnimation(animationID);
|
||||||
client.getCallbacks().post(dynamicObjectAnimationChanged);
|
client.getCallbacks().post(DynamicObjectAnimationChanged.class, dynamicObjectAnimationChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public abstract class RSFriendSystemMixin implements RSFriendSystem
|
|||||||
public void rl$removeFriend(String friendName)
|
public void rl$removeFriend(String friendName)
|
||||||
{
|
{
|
||||||
FriendRemoved friendRemoved = new FriendRemoved(friendName);
|
FriendRemoved friendRemoved = new FriendRemoved(friendName);
|
||||||
client.getCallbacks().post(friendRemoved);
|
client.getCallbacks().post(FriendRemoved.class, friendRemoved);
|
||||||
}
|
}
|
||||||
|
|
||||||
@MethodHook("addFriend")
|
@MethodHook("addFriend")
|
||||||
@@ -28,6 +28,6 @@ public abstract class RSFriendSystemMixin implements RSFriendSystem
|
|||||||
public void rl$addFriend(String friendName)
|
public void rl$addFriend(String friendName)
|
||||||
{
|
{
|
||||||
FriendAdded friendAdded = new FriendAdded(friendName);
|
FriendAdded friendAdded = new FriendAdded(friendName);
|
||||||
client.getCallbacks().post(friendAdded);
|
client.getCallbacks().post(FriendAdded.class, friendAdded);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public abstract class RSGameShellMixin implements RSGameShell
|
|||||||
{
|
{
|
||||||
final FocusChanged focusChanged = new FocusChanged();
|
final FocusChanged focusChanged = new FocusChanged();
|
||||||
focusChanged.setFocused(true);
|
focusChanged.setFocused(true);
|
||||||
client.getCallbacks().post(focusChanged);
|
client.getCallbacks().post(FocusChanged.class, focusChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public abstract class RSGraphicsObjectMixin implements RSGraphicsObject
|
|||||||
RSGraphicsObjectMixin()
|
RSGraphicsObjectMixin()
|
||||||
{
|
{
|
||||||
final GraphicsObjectCreated event = new GraphicsObjectCreated(this);
|
final GraphicsObjectCreated event = new GraphicsObjectCreated(this);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(GraphicsObjectCreated.class, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public abstract class RSGroundItemMixin implements RSGroundItem
|
|||||||
client.getLogger().debug("Item quantity changed: {} ({} -> {})", getId(), getQuantity(), quantity);
|
client.getLogger().debug("Item quantity changed: {} ({} -> {})", getId(), getQuantity(), quantity);
|
||||||
|
|
||||||
ItemQuantityChanged itemQuantityChanged = new ItemQuantityChanged(this, getTile(), getQuantity(), quantity);
|
ItemQuantityChanged itemQuantityChanged = new ItemQuantityChanged(this, getTile(), getQuantity(), quantity);
|
||||||
client.getCallbacks().post(itemQuantityChanged);
|
client.getCallbacks().post(ItemQuantityChanged.class, itemQuantityChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,6 @@ public abstract class RSHealthBarDefinitionMixin implements RSHealthBarDefinitio
|
|||||||
{
|
{
|
||||||
PostHealthBar postHealthBar = new PostHealthBar();
|
PostHealthBar postHealthBar = new PostHealthBar();
|
||||||
postHealthBar.setHealthBar(this);
|
postHealthBar.setHealthBar(this);
|
||||||
client.getCallbacks().post(postHealthBar);
|
client.getCallbacks().post(PostHealthBar.class, postHealthBar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,6 +97,6 @@ public abstract class RSItemContainerMixin implements RSItemContainer
|
|||||||
rl$lastContainer = itemContainerId;
|
rl$lastContainer = itemContainerId;
|
||||||
|
|
||||||
ItemContainerChanged event = new ItemContainerChanged(itemContainerId, client.getItemContainer(container));
|
ItemContainerChanged event = new ItemContainerChanged(itemContainerId, client.getItemContainer(container));
|
||||||
client.getCallbacks().postDeferred(event);
|
client.getCallbacks().postDeferred(ItemContainerChanged.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,6 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition
|
|||||||
{
|
{
|
||||||
final PostItemDefinition event = new PostItemDefinition();
|
final PostItemDefinition event = new PostItemDefinition();
|
||||||
event.setItemDefinition(this);
|
event.setItemDefinition(this);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(PostItemDefinition.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,6 @@ public abstract class RSKeyHandlerMixin implements RSKeyHandler
|
|||||||
{
|
{
|
||||||
final FocusChanged focusChanged = new FocusChanged();
|
final FocusChanged focusChanged = new FocusChanged();
|
||||||
focusChanged.setFocused(false);
|
focusChanged.setFocused(false);
|
||||||
client.getCallbacks().post(focusChanged);
|
client.getCallbacks().post(FocusChanged.class, focusChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,6 @@ public abstract class RSNPCDefinitionMixin implements RSNPCDefinition
|
|||||||
NpcActionChanged npcActionChanged = new NpcActionChanged();
|
NpcActionChanged npcActionChanged = new NpcActionChanged();
|
||||||
npcActionChanged.setNpcDefinition(this);
|
npcActionChanged.setNpcDefinition(this);
|
||||||
npcActionChanged.setIdx(idx);
|
npcActionChanged.setIdx(idx);
|
||||||
client.getCallbacks().post(npcActionChanged);
|
client.getCallbacks().post(NpcActionChanged.class, npcActionChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,11 +110,11 @@ public abstract class RSNPCMixin implements RSNPC
|
|||||||
{
|
{
|
||||||
if (composition == null)
|
if (composition == null)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new NpcDespawned(this));
|
client.getCallbacks().post(NpcDespawned.class, new NpcDespawned(this));
|
||||||
}
|
}
|
||||||
else if (this.getId() != -1)
|
else if (this.getId() != -1)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new NpcDefinitionChanged(this));
|
client.getCallbacks().post(NpcDefinitionChanged.class, new NpcDefinitionChanged(this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public abstract class RSProjectileMixin implements RSProjectile
|
|||||||
{
|
{
|
||||||
final ProjectileSpawned projectileSpawned = new ProjectileSpawned();
|
final ProjectileSpawned projectileSpawned = new ProjectileSpawned();
|
||||||
projectileSpawned.setProjectile(this);
|
projectileSpawned.setProjectile(this);
|
||||||
client.getCallbacks().post(projectileSpawned);
|
client.getCallbacks().post(ProjectileSpawned.class, projectileSpawned);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -109,6 +109,6 @@ public abstract class RSProjectileMixin implements RSProjectile
|
|||||||
projectileMoved.setProjectile(this);
|
projectileMoved.setProjectile(this);
|
||||||
projectileMoved.setPosition(position);
|
projectileMoved.setPosition(position);
|
||||||
projectileMoved.setZ(targetZ);
|
projectileMoved.setZ(targetZ);
|
||||||
client.getCallbacks().post(projectileMoved);
|
client.getCallbacks().post(ProjectileMoved.class, projectileMoved);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -129,14 +129,14 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
WallObjectDespawned wallObjectDespawned = new WallObjectDespawned();
|
WallObjectDespawned wallObjectDespawned = new WallObjectDespawned();
|
||||||
wallObjectDespawned.setTile(this);
|
wallObjectDespawned.setTile(this);
|
||||||
wallObjectDespawned.setWallObject(previous);
|
wallObjectDespawned.setWallObject(previous);
|
||||||
client.getCallbacks().post(wallObjectDespawned);
|
client.getCallbacks().post(WallObjectDespawned.class, wallObjectDespawned);
|
||||||
}
|
}
|
||||||
else if (current != null && previous == null)
|
else if (current != null && previous == null)
|
||||||
{
|
{
|
||||||
WallObjectSpawned wallObjectSpawned = new WallObjectSpawned();
|
WallObjectSpawned wallObjectSpawned = new WallObjectSpawned();
|
||||||
wallObjectSpawned.setTile(this);
|
wallObjectSpawned.setTile(this);
|
||||||
wallObjectSpawned.setWallObject(current);
|
wallObjectSpawned.setWallObject(current);
|
||||||
client.getCallbacks().post(wallObjectSpawned);
|
client.getCallbacks().post(WallObjectSpawned.class, wallObjectSpawned);
|
||||||
}
|
}
|
||||||
else if (current != null)
|
else if (current != null)
|
||||||
{
|
{
|
||||||
@@ -144,7 +144,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
wallObjectChanged.setTile(this);
|
wallObjectChanged.setTile(this);
|
||||||
wallObjectChanged.setPrevious(previous);
|
wallObjectChanged.setPrevious(previous);
|
||||||
wallObjectChanged.setWallObject(current);
|
wallObjectChanged.setWallObject(current);
|
||||||
client.getCallbacks().post(wallObjectChanged);
|
client.getCallbacks().post(WallObjectChanged.class, wallObjectChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,14 +162,14 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
DecorativeObjectDespawned decorativeObjectDespawned = new DecorativeObjectDespawned();
|
DecorativeObjectDespawned decorativeObjectDespawned = new DecorativeObjectDespawned();
|
||||||
decorativeObjectDespawned.setTile(this);
|
decorativeObjectDespawned.setTile(this);
|
||||||
decorativeObjectDespawned.setDecorativeObject(previous);
|
decorativeObjectDespawned.setDecorativeObject(previous);
|
||||||
client.getCallbacks().post(decorativeObjectDespawned);
|
client.getCallbacks().post(DecorativeObjectDespawned.class, decorativeObjectDespawned);
|
||||||
}
|
}
|
||||||
else if (current != null && previous == null)
|
else if (current != null && previous == null)
|
||||||
{
|
{
|
||||||
DecorativeObjectSpawned decorativeObjectSpawned = new DecorativeObjectSpawned();
|
DecorativeObjectSpawned decorativeObjectSpawned = new DecorativeObjectSpawned();
|
||||||
decorativeObjectSpawned.setTile(this);
|
decorativeObjectSpawned.setTile(this);
|
||||||
decorativeObjectSpawned.setDecorativeObject(current);
|
decorativeObjectSpawned.setDecorativeObject(current);
|
||||||
client.getCallbacks().post(decorativeObjectSpawned);
|
client.getCallbacks().post(DecorativeObjectSpawned.class, decorativeObjectSpawned);
|
||||||
}
|
}
|
||||||
else if (current != null)
|
else if (current != null)
|
||||||
{
|
{
|
||||||
@@ -177,7 +177,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
decorativeObjectChanged.setTile(this);
|
decorativeObjectChanged.setTile(this);
|
||||||
decorativeObjectChanged.setPrevious(previous);
|
decorativeObjectChanged.setPrevious(previous);
|
||||||
decorativeObjectChanged.setDecorativeObject(current);
|
decorativeObjectChanged.setDecorativeObject(current);
|
||||||
client.getCallbacks().post(decorativeObjectChanged);
|
client.getCallbacks().post(DecorativeObjectChanged.class, decorativeObjectChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,14 +195,14 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
GroundObjectDespawned groundObjectDespawned = new GroundObjectDespawned();
|
GroundObjectDespawned groundObjectDespawned = new GroundObjectDespawned();
|
||||||
groundObjectDespawned.setTile(this);
|
groundObjectDespawned.setTile(this);
|
||||||
groundObjectDespawned.setGroundObject(previous);
|
groundObjectDespawned.setGroundObject(previous);
|
||||||
client.getCallbacks().post(groundObjectDespawned);
|
client.getCallbacks().post(GroundObjectDespawned.class, groundObjectDespawned);
|
||||||
}
|
}
|
||||||
else if (current != null && previous == null)
|
else if (current != null && previous == null)
|
||||||
{
|
{
|
||||||
GroundObjectSpawned groundObjectSpawned = new GroundObjectSpawned();
|
GroundObjectSpawned groundObjectSpawned = new GroundObjectSpawned();
|
||||||
groundObjectSpawned.setTile(this);
|
groundObjectSpawned.setTile(this);
|
||||||
groundObjectSpawned.setGroundObject(current);
|
groundObjectSpawned.setGroundObject(current);
|
||||||
client.getCallbacks().post(groundObjectSpawned);
|
client.getCallbacks().post(GroundObjectSpawned.class, groundObjectSpawned);
|
||||||
}
|
}
|
||||||
else if (current != null)
|
else if (current != null)
|
||||||
{
|
{
|
||||||
@@ -210,7 +210,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
groundObjectChanged.setTile(this);
|
groundObjectChanged.setTile(this);
|
||||||
groundObjectChanged.setPrevious(previous);
|
groundObjectChanged.setPrevious(previous);
|
||||||
groundObjectChanged.setGroundObject(current);
|
groundObjectChanged.setGroundObject(current);
|
||||||
client.getCallbacks().post(groundObjectChanged);
|
client.getCallbacks().post(GroundObjectChanged.class, groundObjectChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -285,7 +285,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
GameObjectDespawned gameObjectDespawned = new GameObjectDespawned();
|
GameObjectDespawned gameObjectDespawned = new GameObjectDespawned();
|
||||||
gameObjectDespawned.setTile(this);
|
gameObjectDespawned.setTile(this);
|
||||||
gameObjectDespawned.setGameObject(previous);
|
gameObjectDespawned.setGameObject(previous);
|
||||||
client.getCallbacks().post(gameObjectDespawned);
|
client.getCallbacks().post(GameObjectDespawned.class, gameObjectDespawned);
|
||||||
}
|
}
|
||||||
else if (previous == null)
|
else if (previous == null)
|
||||||
{
|
{
|
||||||
@@ -299,7 +299,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
GameObjectSpawned gameObjectSpawned = new GameObjectSpawned();
|
GameObjectSpawned gameObjectSpawned = new GameObjectSpawned();
|
||||||
gameObjectSpawned.setTile(this);
|
gameObjectSpawned.setTile(this);
|
||||||
gameObjectSpawned.setGameObject(current);
|
gameObjectSpawned.setGameObject(current);
|
||||||
client.getCallbacks().post(gameObjectSpawned);
|
client.getCallbacks().post(GameObjectSpawned.class, gameObjectSpawned);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -314,7 +314,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
gameObjectsChanged.setTile(this);
|
gameObjectsChanged.setTile(this);
|
||||||
gameObjectsChanged.setPrevious(previous);
|
gameObjectsChanged.setPrevious(previous);
|
||||||
gameObjectsChanged.setGameObject(current);
|
gameObjectsChanged.setGameObject(current);
|
||||||
client.getCallbacks().post(gameObjectsChanged);
|
client.getCallbacks().post(GameObjectChanged.class, gameObjectsChanged);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,7 +340,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
{
|
{
|
||||||
RSGroundItem item = (RSGroundItem) cur;
|
RSGroundItem item = (RSGroundItem) cur;
|
||||||
ItemDespawned itemDespawned = new ItemDespawned(this, item);
|
ItemDespawned itemDespawned = new ItemDespawned(this, item);
|
||||||
client.getCallbacks().post(itemDespawned);
|
client.getCallbacks().post(ItemDespawned.class, itemDespawned);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lastGroundItems[z][x][y] = newQueue;
|
lastGroundItems[z][x][y] = newQueue;
|
||||||
@@ -358,7 +358,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
if (lastUnlink != null)
|
if (lastUnlink != null)
|
||||||
{
|
{
|
||||||
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
|
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
|
||||||
client.getCallbacks().post(itemDespawned);
|
client.getCallbacks().post(ItemDespawned.class, itemDespawned);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -370,7 +370,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
if (lastUnlink != null)
|
if (lastUnlink != null)
|
||||||
{
|
{
|
||||||
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
|
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
|
||||||
client.getCallbacks().post(itemDespawned);
|
client.getCallbacks().post(ItemDespawned.class, itemDespawned);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -403,7 +403,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
if (lastUnlink != null && lastUnlink != previous && lastUnlink != next)
|
if (lastUnlink != null && lastUnlink != previous && lastUnlink != next)
|
||||||
{
|
{
|
||||||
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
|
ItemDespawned itemDespawned = new ItemDespawned(this, lastUnlink);
|
||||||
client.getCallbacks().post(itemDespawned);
|
client.getCallbacks().post(ItemDespawned.class, itemDespawned);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current == null)
|
if (current == null)
|
||||||
@@ -418,7 +418,7 @@ public abstract class RSTileMixin implements RSTile
|
|||||||
item.setY(y);
|
item.setY(y);
|
||||||
|
|
||||||
ItemSpawned itemSpawned = new ItemSpawned(this, item);
|
ItemSpawned itemSpawned = new ItemSpawned(this, item);
|
||||||
client.getCallbacks().post(itemSpawned);
|
client.getCallbacks().post(ItemSpawned.class, itemSpawned);
|
||||||
|
|
||||||
current = forward ? current.getNext() : current.getPrevious();
|
current = forward ? current.getNext() : current.getPrevious();
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ public abstract class RSVarcsMixin implements RSVarcs
|
|||||||
@Inject
|
@Inject
|
||||||
public void onVarCIntChanged(int id, int value)
|
public void onVarCIntChanged(int id, int value)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new VarClientIntChanged(id));
|
client.getCallbacks().post(VarClientIntChanged.class, new VarClientIntChanged(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@MethodHook(value = "setString", end = true)
|
@MethodHook(value = "setString", end = true)
|
||||||
@Inject
|
@Inject
|
||||||
public void onVarCStrChanged(int id, String value)
|
public void onVarCStrChanged(int id, String value)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new VarClientStrChanged(id));
|
client.getCallbacks().post(VarClientStrChanged.class, new VarClientStrChanged(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ public abstract class RSWidgetMixin implements RSWidget
|
|||||||
event.setWidget(this);
|
event.setWidget(this);
|
||||||
event.setHidden(hidden);
|
event.setHidden(hidden);
|
||||||
|
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(WidgetHiddenChanged.class, event);
|
||||||
|
|
||||||
RSWidget[] children = getChildren();
|
RSWidget[] children = getChildren();
|
||||||
|
|
||||||
@@ -502,7 +502,7 @@ public abstract class RSWidgetMixin implements RSWidget
|
|||||||
client.getLogger().trace("Posting widget position changed");
|
client.getLogger().trace("Posting widget position changed");
|
||||||
|
|
||||||
WidgetPositioned widgetPositioned = WidgetPositioned.INSTANCE;
|
WidgetPositioned widgetPositioned = WidgetPositioned.INSTANCE;
|
||||||
client.getCallbacks().postDeferred(widgetPositioned);
|
client.getCallbacks().postDeferred(WidgetPositioned.class, widgetPositioned);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public abstract class RSWorldMixin implements RSWorld
|
|||||||
{
|
{
|
||||||
// this is the last world in the list.
|
// this is the last world in the list.
|
||||||
WorldListLoad worldLoad = new WorldListLoad(worlds);
|
WorldListLoad worldLoad = new WorldListLoad(worlds);
|
||||||
client.getCallbacks().post(worldLoad);
|
client.getCallbacks().post(WorldListLoad.class, worldLoad);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public abstract class ScriptVMMixin implements RSClient
|
|||||||
ScriptCallbackEvent event = new ScriptCallbackEvent();
|
ScriptCallbackEvent event = new ScriptCallbackEvent();
|
||||||
event.setScript(currentScript);
|
event.setScript(currentScript);
|
||||||
event.setEventName(stringOp);
|
event.setEventName(stringOp);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(ScriptCallbackEvent.class, event);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ public abstract class SoundEffectMixin implements RSClient
|
|||||||
SoundEffectPlayed event = new SoundEffectPlayed();
|
SoundEffectPlayed event = new SoundEffectPlayed();
|
||||||
event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]);
|
event.setSoundId(client.getQueuedSoundEffectIDs()[soundIndex]);
|
||||||
event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]);
|
event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(SoundEffectPlayed.class, event);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -139,7 +139,7 @@ public abstract class SoundEffectMixin implements RSClient
|
|||||||
event.setSceneY(y);
|
event.setSceneY(y);
|
||||||
event.setRange(range);
|
event.setRange(range);
|
||||||
event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]);
|
event.setDelay(client.getQueuedSoundEffectDelays()[soundIndex]);
|
||||||
client.getCallbacks().post(event);
|
client.getCallbacks().post(AreaSoundEffectPlayed.class, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user