Merge pull request #3820 from deathbeam/fix-resizable-minimap
Use correct widget when hiding resizable minimap
This commit is contained in:
@@ -67,13 +67,7 @@ public class MinimapPlugin extends Plugin
|
||||
@Override
|
||||
protected void startUp() throws Exception
|
||||
{
|
||||
Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET);
|
||||
|
||||
if (minimapWidget != null)
|
||||
{
|
||||
minimapWidget.setHidden(config.hideMinimap());
|
||||
}
|
||||
|
||||
updateMinimapWidgetVisibility(config.hideMinimap());
|
||||
storeOriginalDots();
|
||||
replaceMapDots();
|
||||
}
|
||||
@@ -81,13 +75,7 @@ public class MinimapPlugin extends Plugin
|
||||
@Override
|
||||
protected void shutDown() throws Exception
|
||||
{
|
||||
Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET);
|
||||
|
||||
if (minimapWidget != null)
|
||||
{
|
||||
minimapWidget.setHidden(false);
|
||||
}
|
||||
|
||||
updateMinimapWidgetVisibility(false);
|
||||
restoreOriginalDots();
|
||||
}
|
||||
|
||||
@@ -101,6 +89,69 @@ public class MinimapPlugin extends Plugin
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void configChanged(ConfigChanged event)
|
||||
{
|
||||
if (!event.getGroup().equals("minimap"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getKey().equals("hideMinimap"))
|
||||
{
|
||||
updateMinimapWidgetVisibility(config.hideMinimap());
|
||||
return;
|
||||
}
|
||||
|
||||
replaceMapDots();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onWidgetHiddenChange(WidgetHiddenChanged event)
|
||||
{
|
||||
updateMinimapWidgetVisibility(config.hideMinimap());
|
||||
}
|
||||
|
||||
private void updateMinimapWidgetVisibility(boolean enable)
|
||||
{
|
||||
final Widget resizableStonesWidget = client.getWidget(WidgetInfo.RESIZABLE_MINIMAP_STONES_WIDGET);
|
||||
|
||||
if (resizableStonesWidget != null)
|
||||
{
|
||||
resizableStonesWidget.setHidden(enable);
|
||||
}
|
||||
|
||||
final Widget resizableNormalWidget = client.getWidget(WidgetInfo.RESIZABLE_MINIMAP_WIDGET);
|
||||
|
||||
if (resizableNormalWidget != null && !resizableNormalWidget.isSelfHidden())
|
||||
{
|
||||
for (Widget widget : resizableNormalWidget.getStaticChildren())
|
||||
{
|
||||
if (widget.getId() != WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_LOGOUT_BUTTON.getId() &&
|
||||
widget.getId() != WidgetInfo.RESIZABLE_MINIMAP_LOGOUT_BUTTON.getId())
|
||||
{
|
||||
widget.setHidden(enable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void replaceMapDots()
|
||||
{
|
||||
SpritePixels[] mapDots = client.getMapDots();
|
||||
|
||||
if (mapDots == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Color[] minimapDotColors = getColors();
|
||||
for (int i = 0; i < mapDots.length && i < minimapDotColors.length; ++i)
|
||||
{
|
||||
mapDots[i] = MinimapDot.create(this.client, minimapDotColors[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private Color[] getColors()
|
||||
{
|
||||
Color[] colors = new Color[NUM_MAPDOTS];
|
||||
@@ -136,54 +187,4 @@ public class MinimapPlugin extends Plugin
|
||||
|
||||
System.arraycopy(originalDotSprites, 0, mapDots, 0, mapDots.length);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void configChanged(ConfigChanged event)
|
||||
{
|
||||
if (!event.getGroup().equals("minimap"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getKey().equals("hideMinimap"))
|
||||
{
|
||||
Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET);
|
||||
|
||||
if (minimapWidget != null)
|
||||
{
|
||||
minimapWidget.setHidden(config.hideMinimap());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
replaceMapDots();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onWidgetHiddenChange(WidgetHiddenChanged event)
|
||||
{
|
||||
Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET);
|
||||
|
||||
if (event.getWidget() == minimapWidget)
|
||||
{
|
||||
minimapWidget.setHidden(config.hideMinimap());
|
||||
}
|
||||
}
|
||||
|
||||
private void replaceMapDots()
|
||||
{
|
||||
SpritePixels[] mapDots = client.getMapDots();
|
||||
|
||||
if (mapDots == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Color[] minimapDotColors = getColors();
|
||||
for (int i = 0; i < mapDots.length && i < minimapDotColors.length; ++i)
|
||||
{
|
||||
mapDots[i] = MinimapDot.create(this.client, minimapDotColors[i]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -97,7 +97,7 @@ class PrayerDoseOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
final Widget xpOrb = client.getWidget(WidgetInfo.QUICK_PRAYER_ORB);
|
||||
final Widget xpOrb = client.getWidget(WidgetInfo.MINIMAP_QUICK_PRAYER_ORB);
|
||||
if (xpOrb == null)
|
||||
{
|
||||
return null;
|
||||
|
||||
@@ -67,7 +67,7 @@ class PrayerFlickOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
Widget xpOrb = client.getWidget(WidgetInfo.QUICK_PRAYER_ORB);
|
||||
Widget xpOrb = client.getWidget(WidgetInfo.MINIMAP_QUICK_PRAYER_ORB);
|
||||
if (xpOrb == null)
|
||||
{
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user