Use ItemManager in GrandExchangePlugin
This commit is contained in:
@@ -30,14 +30,13 @@ import java.awt.Dimension;
|
|||||||
import java.awt.GridLayout;
|
import java.awt.GridLayout;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.border.CompoundBorder;
|
import javax.swing.border.CompoundBorder;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import javax.swing.border.LineBorder;
|
import javax.swing.border.LineBorder;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.runelite.client.game.AsyncBufferedImage;
|
||||||
import net.runelite.client.util.LinkBrowser;
|
import net.runelite.client.util.LinkBrowser;
|
||||||
import net.runelite.client.util.StackFormatter;
|
import net.runelite.client.util.StackFormatter;
|
||||||
|
|
||||||
@@ -46,7 +45,7 @@ class GrandExchangeItemPanel extends JPanel
|
|||||||
{
|
{
|
||||||
private static final Dimension ICON_SIZE = new Dimension(32, 32);
|
private static final Dimension ICON_SIZE = new Dimension(32, 32);
|
||||||
|
|
||||||
GrandExchangeItemPanel(BufferedImage icon, String name, int itemID, int gePrice, Double
|
GrandExchangeItemPanel(AsyncBufferedImage icon, String name, int itemID, int gePrice, Double
|
||||||
haPrice)
|
haPrice)
|
||||||
{
|
{
|
||||||
BorderLayout layout = new BorderLayout();
|
BorderLayout layout = new BorderLayout();
|
||||||
@@ -88,7 +87,7 @@ class GrandExchangeItemPanel extends JPanel
|
|||||||
itemIcon.setPreferredSize(ICON_SIZE);
|
itemIcon.setPreferredSize(ICON_SIZE);
|
||||||
if (icon != null)
|
if (icon != null)
|
||||||
{
|
{
|
||||||
itemIcon.setIcon(new ImageIcon(icon));
|
icon.addTo(itemIcon);
|
||||||
}
|
}
|
||||||
add(itemIcon, BorderLayout.LINE_START);
|
add(itemIcon, BorderLayout.LINE_START);
|
||||||
|
|
||||||
|
|||||||
@@ -24,19 +24,19 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.grandexchange;
|
package net.runelite.client.plugins.grandexchange;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import net.runelite.client.game.AsyncBufferedImage;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class GrandExchangeItems
|
public class GrandExchangeItems
|
||||||
{
|
{
|
||||||
private final BufferedImage icon;
|
private final AsyncBufferedImage icon;
|
||||||
private final String name;
|
private final String name;
|
||||||
private final int itemId;
|
private final int itemId;
|
||||||
private final int gePrice;
|
private final int gePrice;
|
||||||
private final double haPrice;
|
private final double haPrice;
|
||||||
|
|
||||||
GrandExchangeItems(BufferedImage icon, String name, int itemId, int gePrice, double haPrice)
|
GrandExchangeItems(AsyncBufferedImage icon, String name, int itemId, int gePrice, double haPrice)
|
||||||
{
|
{
|
||||||
this.icon = icon;
|
this.icon = icon;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ import javax.swing.border.EmptyBorder;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.ItemComposition;
|
import net.runelite.api.ItemComposition;
|
||||||
|
import net.runelite.client.game.AsyncBufferedImage;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.hiscore.IconTextField;
|
import net.runelite.client.plugins.hiscore.IconTextField;
|
||||||
import net.runelite.http.api.item.Item;
|
import net.runelite.http.api.item.Item;
|
||||||
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.SearchResult;
|
import net.runelite.http.api.item.SearchResult;
|
||||||
|
|
||||||
@@ -60,8 +60,6 @@ class GrandExchangeSearchPanel extends JPanel
|
|||||||
private final ItemManager itemManager;
|
private final ItemManager itemManager;
|
||||||
private final ScheduledExecutorService executor;
|
private final ScheduledExecutorService executor;
|
||||||
|
|
||||||
private ItemClient itemClient;
|
|
||||||
|
|
||||||
private Icon search;
|
private Icon search;
|
||||||
|
|
||||||
private IconTextField searchBox = new IconTextField();
|
private IconTextField searchBox = new IconTextField();
|
||||||
@@ -150,8 +148,6 @@ class GrandExchangeSearchPanel extends JPanel
|
|||||||
|
|
||||||
if (result != null && !result.getItems().isEmpty())
|
if (result != null && !result.getItems().isEmpty())
|
||||||
{
|
{
|
||||||
itemClient = new ItemClient();
|
|
||||||
|
|
||||||
for (Item item : result.getItems())
|
for (Item item : result.getItems())
|
||||||
{
|
{
|
||||||
int itemId = item.getId();
|
int itemId = item.getId();
|
||||||
@@ -172,20 +168,7 @@ class GrandExchangeSearchPanel extends JPanel
|
|||||||
log.warn("Unable to fetch item price for {}", itemId, ex);
|
log.warn("Unable to fetch item price for {}", itemId, ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
BufferedImage itemImage = null;
|
AsyncBufferedImage itemImage = itemManager.getImage(itemId);
|
||||||
try
|
|
||||||
{
|
|
||||||
itemImage = itemClient.getIcon(itemId);
|
|
||||||
}
|
|
||||||
catch (IOException ex)
|
|
||||||
{
|
|
||||||
log.warn("Unable to fetch item icon for {}", itemId, ex);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (itemImage == null)
|
|
||||||
{
|
|
||||||
log.warn("Unable to fetch item icon for {}", itemId);
|
|
||||||
}
|
|
||||||
|
|
||||||
ITEMS_LIST.add(new GrandExchangeItems(itemImage, item.getName(), itemId, itemPrice != null ? itemPrice.getPrice() : 0, itemComp.getPrice() * 0.6));
|
ITEMS_LIST.add(new GrandExchangeItems(itemImage, item.getName(), itemId, itemPrice != null ? itemPrice.getPrice() : 0, itemComp.getPrice() * 0.6));
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,10 @@
|
|||||||
|
|
||||||
package net.runelite.client.plugins.grandexchange;
|
package net.runelite.client.plugins.grandexchange;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import net.runelite.api.GrandExchangeOffer;
|
import net.runelite.api.GrandExchangeOffer;
|
||||||
import net.runelite.api.GrandExchangeOfferState;
|
import net.runelite.api.GrandExchangeOfferState;
|
||||||
import net.runelite.api.ItemComposition;
|
import net.runelite.api.ItemComposition;
|
||||||
|
import net.runelite.client.game.AsyncBufferedImage;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
@@ -48,7 +48,7 @@ public class GrandExchangeOfferSlotTest
|
|||||||
when(offer.getState()).thenReturn(GrandExchangeOfferState.CANCELLED_BUY);
|
when(offer.getState()).thenReturn(GrandExchangeOfferState.CANCELLED_BUY);
|
||||||
|
|
||||||
GrandExchangeOfferSlot offerSlot = new GrandExchangeOfferSlot();
|
GrandExchangeOfferSlot offerSlot = new GrandExchangeOfferSlot();
|
||||||
offerSlot.updateOffer(mock(ItemComposition.class), mock(BufferedImage.class), offer);
|
offerSlot.updateOffer(mock(ItemComposition.class), mock(AsyncBufferedImage.class), offer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user