puzzle solver plugin: Use Sprite ID for overlay image
This commit is contained in:
@@ -33,11 +33,9 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import javax.imageio.ImageIO;
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
@@ -45,8 +43,10 @@ import net.runelite.api.GameState;
|
|||||||
import net.runelite.api.InventoryID;
|
import net.runelite.api.InventoryID;
|
||||||
import net.runelite.api.Item;
|
import net.runelite.api.Item;
|
||||||
import net.runelite.api.ItemContainer;
|
import net.runelite.api.ItemContainer;
|
||||||
|
import static net.runelite.api.SpriteID.MINIMAP_DESTINATION_FLAG;
|
||||||
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.game.SpriteManager;
|
||||||
import net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver;
|
import net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver;
|
||||||
import net.runelite.client.plugins.puzzlesolver.solver.PuzzleState;
|
import net.runelite.client.plugins.puzzlesolver.solver.PuzzleState;
|
||||||
import net.runelite.client.plugins.puzzlesolver.solver.heuristics.ManhattanDistance;
|
import net.runelite.client.plugins.puzzlesolver.solver.heuristics.ManhattanDistance;
|
||||||
@@ -77,18 +77,18 @@ public class PuzzleSolverOverlay extends Overlay
|
|||||||
private final Client client;
|
private final Client client;
|
||||||
private final PuzzleSolverConfig config;
|
private final PuzzleSolverConfig config;
|
||||||
private final ScheduledExecutorService executorService;
|
private final ScheduledExecutorService executorService;
|
||||||
|
private final SpriteManager spriteManager;
|
||||||
|
|
||||||
private PuzzleSolver solver;
|
private PuzzleSolver solver;
|
||||||
private Future<?> solverFuture;
|
private Future<?> solverFuture;
|
||||||
private int[] cachedItems;
|
private int[] cachedItems;
|
||||||
|
|
||||||
private BufferedImage downArrow;
|
|
||||||
private BufferedImage upArrow;
|
private BufferedImage upArrow;
|
||||||
private BufferedImage leftArrow;
|
private BufferedImage leftArrow;
|
||||||
private BufferedImage rightArrow;
|
private BufferedImage rightArrow;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PuzzleSolverOverlay(Client client, PuzzleSolverConfig config, ScheduledExecutorService executorService)
|
public PuzzleSolverOverlay(Client client, PuzzleSolverConfig config, ScheduledExecutorService executorService, SpriteManager spriteManager)
|
||||||
{
|
{
|
||||||
setPosition(OverlayPosition.DYNAMIC);
|
setPosition(OverlayPosition.DYNAMIC);
|
||||||
setPriority(OverlayPriority.HIGH);
|
setPriority(OverlayPriority.HIGH);
|
||||||
@@ -96,6 +96,7 @@ public class PuzzleSolverOverlay extends Overlay
|
|||||||
this.client = client;
|
this.client = client;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.executorService = executorService;
|
this.executorService = executorService;
|
||||||
|
this.spriteManager = spriteManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -426,21 +427,7 @@ public class PuzzleSolverOverlay extends Overlay
|
|||||||
|
|
||||||
private BufferedImage getDownArrow()
|
private BufferedImage getDownArrow()
|
||||||
{
|
{
|
||||||
if (downArrow == null)
|
return spriteManager.getSprite(MINIMAP_DESTINATION_FLAG, 1);
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
synchronized (ImageIO.class)
|
|
||||||
{
|
|
||||||
downArrow = ImageIO.read(PuzzleSolverOverlay.class.getResourceAsStream("arrow.png"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
log.warn("Error loading image", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return downArrow;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private BufferedImage getUpArrow()
|
private BufferedImage getUpArrow()
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 144 B |
Reference in New Issue
Block a user