Merge pull request #5447 from deathbeam/add-option-spot

Add fishing spot display configuration
This commit is contained in:
Tomas Slusny
2018-09-15 13:39:57 +02:00
committed by GitHub
2 changed files with 54 additions and 19 deletions

View File

@@ -44,17 +44,39 @@ public interface FishingConfig extends Config
@ConfigItem( @ConfigItem(
position = 1, position = 1,
keyName = "showIcons", keyName = "showTiles",
name = "Display Fish icons", name = "Display spot tiles",
description = "Display icons instead of text on fishing spots." description = "Configures whether tiles for fishing spots are highlighted"
) )
default boolean showIcons() default boolean showSpotTiles()
{ {
return true; return true;
} }
@ConfigItem( @ConfigItem(
position = 2, position = 2,
keyName = "showIcons",
name = "Display spot icons",
description = "Configures whether icons for fishing spots are displayed"
)
default boolean showSpotIcons()
{
return true;
}
@ConfigItem(
position = 3,
keyName = "showNames",
name = "Display spot names",
description = "Configures whether names for fishing spots are displayed"
)
default boolean showSpotNames()
{
return false;
}
@ConfigItem(
position = 4,
keyName = "statTimeout", keyName = "statTimeout",
name = "Reset stats (minutes)", name = "Reset stats (minutes)",
description = "The time until fishing session data is reset in minutes." description = "The time until fishing session data is reset in minutes."
@@ -65,7 +87,7 @@ public interface FishingConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 3, position = 5,
keyName = "showFishingStats", keyName = "showFishingStats",
name = "Show Fishing session stats", name = "Show Fishing session stats",
description = "Display the fishing session stats." description = "Display the fishing session stats."
@@ -76,7 +98,7 @@ public interface FishingConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 4, position = 6,
keyName = "showMinnowOverlay", keyName = "showMinnowOverlay",
name = "Show Minnow Movement overlay", name = "Show Minnow Movement overlay",
description = "Display the minnow progress pie overlay." description = "Display the minnow progress pie overlay."
@@ -87,7 +109,7 @@ public interface FishingConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 5, position = 7,
keyName = "trawlerNotification", keyName = "trawlerNotification",
name = "Trawler activity notification", name = "Trawler activity notification",
description = "Send a notification when fishing trawler activity drops below 15%." description = "Send a notification when fishing trawler activity drops below 15%."

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.fishing;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Polygon;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
@@ -126,27 +127,39 @@ class FishingSpotOverlay extends Overlay
} }
} }
if (config.showIcons()) if (config.showSpotTiles())
{ {
BufferedImage fishImage = getFishImage(spot); Polygon poly = npc.getCanvasTilePoly();
if (fishImage != null) if (poly != null)
{ {
OverlayUtil.renderActorOverlayImage(graphics, npc, fishImage, color.darker(), npc.getLogicalHeight()); OverlayUtil.renderPolygon(graphics, poly, color.darker());
} }
} }
else
if (config.showSpotIcons())
{
BufferedImage fishImage = itemManager.getImage(spot.getFishSpriteId());;
if (fishImage != null)
{
Point imageLocation = npc.getCanvasImageLocation(graphics, fishImage, npc.getLogicalHeight());
if (imageLocation != null)
{
OverlayUtil.renderImageLocation(graphics, imageLocation, fishImage);
}
}
}
if (config.showSpotNames())
{ {
String text = spot.getName(); String text = spot.getName();
OverlayUtil.renderActorOverlay(graphics, npc, text, color.darker()); Point textLocation = npc.getCanvasTextLocation(graphics, text, npc.getLogicalHeight() + 40);
if (textLocation != null)
{
OverlayUtil.renderTextLocation(graphics, textLocation, text, color.darker());
}
} }
} }
return null; return null;
} }
private BufferedImage getFishImage(FishingSpot spot)
{
BufferedImage fishImage = itemManager.getImage(spot.getFishSpriteId());
return fishImage;
}
} }