Remove deprecated WallObjectQuery class
This commit is contained in:
@@ -101,6 +101,8 @@ public class MTAPlugin extends Plugin
|
||||
{
|
||||
eventBus.unregister(room);
|
||||
}
|
||||
|
||||
telekineticRoom.resetRoom();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,9 +28,11 @@ import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Polygon;
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Queue;
|
||||
import java.util.Set;
|
||||
@@ -52,11 +54,12 @@ import net.runelite.api.coords.Direction;
|
||||
import net.runelite.api.coords.LocalPoint;
|
||||
import net.runelite.api.coords.WorldArea;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.api.events.GameTick;
|
||||
import net.runelite.api.events.NpcDespawned;
|
||||
import net.runelite.api.events.NpcSpawned;
|
||||
import net.runelite.api.events.WallObjectSpawned;
|
||||
import net.runelite.api.queries.GroundObjectQuery;
|
||||
import net.runelite.api.queries.WallObjectQuery;
|
||||
import net.runelite.api.widgets.WidgetID;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.plugins.mta.MTAConfig;
|
||||
@@ -71,6 +74,8 @@ public class TelekineticRoom extends MTARoom
|
||||
|
||||
private final Client client;
|
||||
|
||||
private final List<WallObject> telekineticWalls = new ArrayList<>();
|
||||
|
||||
private Stack<Direction> moves = new Stack<>();
|
||||
private LocalPoint destination;
|
||||
private WorldPoint location;
|
||||
@@ -85,6 +90,34 @@ public class TelekineticRoom extends MTARoom
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public void resetRoom()
|
||||
{
|
||||
telekineticWalls.clear();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onWallObjectSpawned(WallObjectSpawned event)
|
||||
{
|
||||
final WallObject wall = event.getWallObject();
|
||||
if (wall.getId() != TELEKINETIC_WALL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
telekineticWalls.add(wall);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameStateChanged(GameStateChanged event)
|
||||
{
|
||||
if (event.getGameState() == GameState.LOADING)
|
||||
{
|
||||
// Game objects are nulled when loading new scenes, thus never trigger their respective
|
||||
// ObjectDespawned events.
|
||||
resetRoom();
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameTick(GameTick event)
|
||||
{
|
||||
@@ -97,15 +130,10 @@ public class TelekineticRoom extends MTARoom
|
||||
return;
|
||||
}
|
||||
|
||||
WallObjectQuery qry = new WallObjectQuery()
|
||||
.idEquals(TELEKINETIC_WALL);
|
||||
WallObject[] result = qry.result(client);
|
||||
int length = result.length;
|
||||
|
||||
if (maze == null || length != maze.getWalls())
|
||||
if (maze == null || telekineticWalls.size() != maze.getWalls())
|
||||
{
|
||||
bounds = getBounds(result);
|
||||
maze = Maze.fromWalls(length);
|
||||
bounds = getBounds(telekineticWalls.toArray(new WallObject[0]));
|
||||
maze = Maze.fromWalls(telekineticWalls.size());
|
||||
client.clearHintArrow();
|
||||
}
|
||||
else if (guardian != null)
|
||||
|
||||
Reference in New Issue
Block a user