Invoke GameEventManager events on ClientThread
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -50,17 +50,20 @@ import net.runelite.api.events.ItemSpawned;
|
||||
import net.runelite.api.events.NpcSpawned;
|
||||
import net.runelite.api.events.PlayerSpawned;
|
||||
import net.runelite.api.events.WallObjectSpawned;
|
||||
import net.runelite.client.callback.ClientThread;
|
||||
|
||||
@Singleton
|
||||
public class GameEventManager
|
||||
{
|
||||
private final EventBus eventBus = new EventBus();
|
||||
private final Client client;
|
||||
private final ClientThread clientThread;
|
||||
|
||||
@Inject
|
||||
private GameEventManager(Client client)
|
||||
private GameEventManager(Client client, ClientThread clientThread)
|
||||
{
|
||||
this.client = client;
|
||||
this.clientThread = clientThread;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +73,6 @@ public class GameEventManager
|
||||
*/
|
||||
private void forEachTile(Consumer<Tile> consumer)
|
||||
{
|
||||
|
||||
final Scene scene = client.getScene();
|
||||
final Tile[][][] tiles = scene.getTiles();
|
||||
|
||||
@@ -105,6 +107,9 @@ public class GameEventManager
|
||||
return;
|
||||
}
|
||||
|
||||
clientThread.invoke(() ->
|
||||
{
|
||||
|
||||
eventBus.register(subscriber);
|
||||
|
||||
for (final InventoryID inventory : InventoryID.values())
|
||||
@@ -188,5 +193,6 @@ public class GameEventManager
|
||||
});
|
||||
|
||||
eventBus.unregister(subscriber);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user