Merge pull request #3607 from Abextm/library-hide-tab

kourendlibrary: Hide navbutton when not in the library
This commit is contained in:
Adam
2018-06-20 08:58:08 -04:00
committed by GitHub
2 changed files with 28 additions and 4 deletions

View File

@@ -53,7 +53,6 @@ public class KourendLibraryOverlay extends Overlay
{
private final static WorldPoint LIBRARY_CENTER = new WorldPoint(1632, 3807, 1);
private final static int MAXIMUM_DISTANCE = 24;
private final static int ROUGH_ENABLE_DISTANCE = 45;
private final Library library;
private final Client client;
@@ -79,7 +78,7 @@ public class KourendLibraryOverlay extends Overlay
WorldPoint playerLoc = player.getWorldLocation();
if (playerLoc.distanceTo2D(LIBRARY_CENTER) > ROUGH_ENABLE_DISTANCE)
if (playerLoc.getRegionID() != KourendLibraryPlugin.REGION)
{
return null;
}

View File

@@ -30,6 +30,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.imageio.ImageIO;
import javax.inject.Inject;
import javax.swing.SwingUtilities;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.AnimationID;
import net.runelite.api.ChatMessageType;
@@ -55,6 +56,8 @@ import net.runelite.client.ui.overlay.OverlayManager;
@Slf4j
public class KourendLibraryPlugin extends Plugin
{
final static int REGION = 6459;
final static boolean debug = false;
@Inject
@@ -77,6 +80,7 @@ public class KourendLibraryPlugin extends Plugin
private KourendLibraryPanel panel;
private NavigationButton navButton;
private boolean buttonAttached = false;
private WorldPoint lastBookcaseClick = null;
private WorldPoint lastBookcaseAnimatedOn = null;
@@ -102,14 +106,13 @@ public class KourendLibraryPlugin extends Plugin
.icon(icon)
.panel(panel)
.build();
pluginToolbar.addNavigation(navButton);
}
@Override
protected void shutDown()
{
overlayManager.remove(overlay);
pluginToolbar.removeNavigation(navButton);
}
@@ -151,6 +154,28 @@ public class KourendLibraryPlugin extends Plugin
@Subscribe
void onTick(GameTick tick)
{
boolean inRegion = client.getLocalPlayer().getWorldLocation().getRegionID() == REGION;
if (inRegion != buttonAttached)
{
SwingUtilities.invokeLater(() ->
{
if (inRegion)
{
pluginToolbar.addNavigation(navButton);
}
else
{
pluginToolbar.removeNavigation(navButton);
}
});
buttonAttached = inRegion;
}
if (!inRegion)
{
return;
}
if (lastBookcaseAnimatedOn != null)
{
Widget find = client.getWidget(WidgetInfo.DIALOG_SPRITE_SPRITE);