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.NpcSpawned;
|
||||||
import net.runelite.api.events.PlayerSpawned;
|
import net.runelite.api.events.PlayerSpawned;
|
||||||
import net.runelite.api.events.WallObjectSpawned;
|
import net.runelite.api.events.WallObjectSpawned;
|
||||||
|
import net.runelite.client.callback.ClientThread;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class GameEventManager
|
public class GameEventManager
|
||||||
{
|
{
|
||||||
private final EventBus eventBus = new EventBus();
|
private final EventBus eventBus = new EventBus();
|
||||||
private final Client client;
|
private final Client client;
|
||||||
|
private final ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private GameEventManager(Client client)
|
private GameEventManager(Client client, ClientThread clientThread)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
|
this.clientThread = clientThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,7 +73,6 @@ public class GameEventManager
|
|||||||
*/
|
*/
|
||||||
private void forEachTile(Consumer<Tile> consumer)
|
private void forEachTile(Consumer<Tile> consumer)
|
||||||
{
|
{
|
||||||
|
|
||||||
final Scene scene = client.getScene();
|
final Scene scene = client.getScene();
|
||||||
final Tile[][][] tiles = scene.getTiles();
|
final Tile[][][] tiles = scene.getTiles();
|
||||||
|
|
||||||
@@ -105,6 +107,9 @@ public class GameEventManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clientThread.invoke(() ->
|
||||||
|
{
|
||||||
|
|
||||||
eventBus.register(subscriber);
|
eventBus.register(subscriber);
|
||||||
|
|
||||||
for (final InventoryID inventory : InventoryID.values())
|
for (final InventoryID inventory : InventoryID.values())
|
||||||
@@ -188,5 +193,6 @@ public class GameEventManager
|
|||||||
});
|
});
|
||||||
|
|
||||||
eventBus.unregister(subscriber);
|
eventBus.unregister(subscriber);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user