Bank tags plugin: Generate less garbage objects
This commit is contained in:
@@ -1763,8 +1763,13 @@ public interface Client extends GameShell
|
|||||||
|
|
||||||
void setModulus(BigInteger modulus);
|
void setModulus(BigInteger modulus);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Returns the max item index + 1 from cache
|
* Returns the max item index + 1 from cache
|
||||||
*/
|
*/
|
||||||
int getItemCount();
|
int getItemCount();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a MenuEntry to the current menu.
|
||||||
|
*/
|
||||||
|
void insertMenuItem(String action, String target, int opcode, int identifier, int argument1, int argument2, boolean forceLeftClick);
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,6 @@ import java.awt.event.KeyEvent;
|
|||||||
import java.awt.event.MouseWheelEvent;
|
import java.awt.event.MouseWheelEvent;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@@ -50,7 +49,6 @@ import net.runelite.api.ItemDefinition;
|
|||||||
import net.runelite.api.ItemContainer;
|
import net.runelite.api.ItemContainer;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import net.runelite.api.MenuOpcode;
|
import net.runelite.api.MenuOpcode;
|
||||||
import net.runelite.api.MenuEntry;
|
|
||||||
import net.runelite.api.VarClientInt;
|
import net.runelite.api.VarClientInt;
|
||||||
import net.runelite.api.VarClientStr;
|
import net.runelite.api.VarClientStr;
|
||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
@@ -275,8 +273,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
|||||||
{
|
{
|
||||||
case "lineSpace":
|
case "lineSpace":
|
||||||
// prevent Y value being incremented to account for line separators
|
// prevent Y value being incremented to account for line separators
|
||||||
intStack[intStackSize - 1] = 0;
|
// fallthrough
|
||||||
break;
|
|
||||||
case "tabTextSpace":
|
case "tabTextSpace":
|
||||||
// prevent Y value being incremented to account for "Tab x" text
|
// prevent Y value being incremented to account for "Tab x" text
|
||||||
intStack[intStackSize - 1] = 0;
|
intStack[intStackSize - 1] = 0;
|
||||||
@@ -322,8 +319,6 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
|||||||
|
|
||||||
private void onMenuEntryAdded(MenuEntryAdded event)
|
private void onMenuEntryAdded(MenuEntryAdded event)
|
||||||
{
|
{
|
||||||
MenuEntry[] entries = client.getMenuEntries();
|
|
||||||
|
|
||||||
if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
|
if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
|
||||||
&& event.getOption().equals("Examine"))
|
&& event.getOption().equals("Examine"))
|
||||||
{
|
{
|
||||||
@@ -338,16 +333,15 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
|
|||||||
text += " (" + tagCount + ")";
|
text += " (" + tagCount + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuEntry editTags = new MenuEntry();
|
client.insertMenuItem(
|
||||||
editTags.setParam0(event.getActionParam0());
|
text,
|
||||||
editTags.setParam1(event.getActionParam1());
|
event.getTarget(),
|
||||||
editTags.setTarget(event.getTarget());
|
MenuOpcode.RUNELITE.getId(),
|
||||||
editTags.setOption(text);
|
event.getIdentifier(),
|
||||||
editTags.setOpcode(MenuOpcode.RUNELITE.getId());
|
event.getActionParam0(),
|
||||||
editTags.setIdentifier(event.getIdentifier());
|
event.getActionParam1(),
|
||||||
entries = Arrays.copyOf(entries, entries.length + 1);
|
false
|
||||||
entries[entries.length - 1] = editTags;
|
);
|
||||||
client.setMenuEntries(entries);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tabInterface.handleAdd(event);
|
tabInterface.handleAdd(event);
|
||||||
|
|||||||
@@ -535,39 +535,31 @@ public class TabInterface
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuEntry[] entries = client.getMenuEntries();
|
|
||||||
MenuEntry entry = entries[entries.length - 1];
|
|
||||||
|
|
||||||
if (activeTab != null
|
if (activeTab != null
|
||||||
&& event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
|
&& event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
|
||||||
&& event.getOption().equals("Examine"))
|
&& event.getOption().equals("Examine"))
|
||||||
{
|
{
|
||||||
entries = createMenuEntry(event, REMOVE_TAG + " (" + activeTab.getTag() + ")", event.getTarget(), entries);
|
insertMenuEntry(event, REMOVE_TAG + " (" + activeTab.getTag() + ")", event.getTarget());
|
||||||
client.setMenuEntries(entries);
|
|
||||||
}
|
}
|
||||||
else if (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId()
|
else if (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId()
|
||||||
&& event.getOption().equals("Deposit inventory"))
|
&& event.getOption().equals("Deposit inventory"))
|
||||||
{
|
{
|
||||||
entries = createMenuEntry(event, TAG_INVENTORY, event.getTarget(), entries);
|
insertMenuEntry(event, TAG_INVENTORY, event.getTarget());
|
||||||
|
|
||||||
if (activeTab != null)
|
if (activeTab != null)
|
||||||
{
|
{
|
||||||
entries = createMenuEntry(event, TAG_INVENTORY, ColorUtil.wrapWithColorTag(activeTab.getTag(), HILIGHT_COLOR), entries);
|
insertMenuEntry(event, TAG_INVENTORY, ColorUtil.wrapWithColorTag(activeTab.getTag(), HILIGHT_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
client.setMenuEntries(entries);
|
|
||||||
}
|
}
|
||||||
else if (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_EQUIPMENT.getId()
|
else if (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_EQUIPMENT.getId()
|
||||||
&& event.getOption().equals("Deposit worn items"))
|
&& event.getOption().equals("Deposit worn items"))
|
||||||
{
|
{
|
||||||
entries = createMenuEntry(event, TAG_GEAR, event.getTarget(), entries);
|
insertMenuEntry(event, TAG_GEAR, event.getTarget());
|
||||||
|
|
||||||
if (activeTab != null)
|
if (activeTab != null)
|
||||||
{
|
{
|
||||||
entries = createMenuEntry(event, TAG_GEAR, ColorUtil.wrapWithColorTag(activeTab.getTag(), HILIGHT_COLOR), entries);
|
insertMenuEntry(event, TAG_GEAR, ColorUtil.wrapWithColorTag(activeTab.getTag(), HILIGHT_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
client.setMenuEntries(entries);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -580,8 +572,8 @@ public class TabInterface
|
|||||||
|
|
||||||
if (chatboxPanelManager.getCurrentInput() != null
|
if (chatboxPanelManager.getCurrentInput() != null
|
||||||
&& event.getMenuOpcode() != MenuOpcode.CANCEL
|
&& event.getMenuOpcode() != MenuOpcode.CANCEL
|
||||||
&& !event.getMenuEntry().equals(SCROLL_UP)
|
&& !event.getOption().equals(SCROLL_UP)
|
||||||
&& !event.getMenuEntry().equals(SCROLL_DOWN))
|
&& !event.getOption().equals(SCROLL_DOWN))
|
||||||
{
|
{
|
||||||
chatboxPanelManager.close();
|
chatboxPanelManager.close();
|
||||||
}
|
}
|
||||||
@@ -1058,17 +1050,16 @@ public class TabInterface
|
|||||||
searchBackground.setSpriteId(SpriteID.EQUIPMENT_SLOT_TILE);
|
searchBackground.setSpriteId(SpriteID.EQUIPMENT_SLOT_TILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static MenuEntry[] createMenuEntry(MenuEntryAdded event, String option, String target, MenuEntry[] entries)
|
private void insertMenuEntry(MenuEntryAdded event, String option, String target)
|
||||||
{
|
{
|
||||||
final MenuEntry entry = new MenuEntry();
|
client.insertMenuItem(
|
||||||
entry.setParam0(event.getActionParam0());
|
option,
|
||||||
entry.setParam1(event.getActionParam1());
|
target,
|
||||||
entry.setTarget(target);
|
MenuOpcode.RUNELITE.getId(),
|
||||||
entry.setOption(option);
|
event.getIdentifier(),
|
||||||
entry.setOpcode(MenuOpcode.RUNELITE.getId());
|
event.getActionParam0(),
|
||||||
entry.setIdentifier(event.getIdentifier());
|
event.getActionParam1(),
|
||||||
entries = Arrays.copyOf(entries, entries.length + 1);
|
false
|
||||||
entries[entries.length - 1] = entry;
|
);
|
||||||
return entries;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1050,4 +1050,8 @@ public interface RSClient extends RSGameShell, Client
|
|||||||
|
|
||||||
@Import("ItemDefinition_fileCount")
|
@Import("ItemDefinition_fileCount")
|
||||||
int getItemCount();
|
int getItemCount();
|
||||||
|
|
||||||
|
@Import("insertMenuItem")
|
||||||
|
@Override
|
||||||
|
void insertMenuItem(String action, String target, int opcode, int identifier, int argument1, int argument2, boolean forceLeftClick);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user