Remove config calls from fps overlay (#708)

This commit is contained in:
Lucwousin
2019-06-24 07:49:52 +02:00
committed by James
parent 768123d7cd
commit 3468ad9b5b
3 changed files with 29 additions and 12 deletions

View File

@@ -45,6 +45,7 @@ public class FpsDrawListener implements Runnable
private static final int SAMPLE_SIZE = 4; private static final int SAMPLE_SIZE = 4;
private final FpsConfig config; private final FpsConfig config;
private final FpsPlugin plugin;
private long targetDelay = 0; private long targetDelay = 0;
@@ -58,9 +59,10 @@ public class FpsDrawListener implements Runnable
private long sleepDelay = 0; private long sleepDelay = 0;
@Inject @Inject
private FpsDrawListener(FpsConfig config) private FpsDrawListener(FpsConfig config, FpsPlugin plugin)
{ {
this.config = config; this.config = config;
this.plugin = plugin;
reloadConfig(); reloadConfig();
} }
@@ -83,8 +85,8 @@ public class FpsDrawListener implements Runnable
private boolean isEnforced() private boolean isEnforced()
{ {
return FpsLimitMode.ALWAYS == config.limitMode() return FpsLimitMode.ALWAYS == plugin.getLimitMode()
|| (FpsLimitMode.UNFOCUSED == config.limitMode() && !isFocused); || (FpsLimitMode.UNFOCUSED == plugin.getLimitMode() && !isFocused);
} }
@Override @Override

View File

@@ -50,7 +50,6 @@ import net.runelite.client.ui.overlay.OverlayUtil;
public class FpsOverlay extends Overlay public class FpsOverlay extends Overlay
{ {
// Local dependencies // Local dependencies
private final FpsConfig config;
private final Client client; private final Client client;
private final FpsPlugin plugin; private final FpsPlugin plugin;
@@ -58,9 +57,8 @@ public class FpsOverlay extends Overlay
private boolean isFocused = true; private boolean isFocused = true;
@Inject @Inject
private FpsOverlay(FpsPlugin plugin, FpsConfig config, Client client) private FpsOverlay(FpsPlugin plugin, Client client)
{ {
this.config = config;
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;
setLayer(OverlayLayer.ABOVE_WIDGETS); setLayer(OverlayLayer.ABOVE_WIDGETS);
@@ -75,8 +73,8 @@ public class FpsOverlay extends Overlay
private boolean isEnforced() private boolean isEnforced()
{ {
return FpsLimitMode.ALWAYS == config.limitMode() return FpsLimitMode.ALWAYS == plugin.getLimitMode()
|| (FpsLimitMode.UNFOCUSED == config.limitMode() && !isFocused); || (FpsLimitMode.UNFOCUSED == plugin.getLimitMode() && !isFocused);
} }
private Color getFpsValueColor() private Color getFpsValueColor()
@@ -110,7 +108,7 @@ public class FpsOverlay extends Overlay
@Override @Override
public Dimension render(Graphics2D graphics) public Dimension render(Graphics2D graphics)
{ {
if (!config.drawFps() && !config.drawPing()) if (!plugin.isDrawFps() && !plugin.isDrawPing())
{ {
return null; return null;
} }
@@ -121,7 +119,7 @@ public class FpsOverlay extends Overlay
int baseYOffset = (fontMetrics.getAscent() - fontMetrics.getDescent()) + 1; int baseYOffset = (fontMetrics.getAscent() - fontMetrics.getDescent()) + 1;
if (config.drawFps()) if (plugin.isDrawFps())
{ {
final String fpsText = String.format("%d FPS", client.getFPS()); final String fpsText = String.format("%d FPS", client.getFPS());
final int textWidth = fontMetrics.stringWidth(fpsText); final int textWidth = fontMetrics.stringWidth(fpsText);
@@ -132,7 +130,7 @@ public class FpsOverlay extends Overlay
baseYOffset += 11; baseYOffset += 11;
} }
if (config.drawPing()) if (plugin.isDrawPing())
{ {
final String pingText = String.format("%dms", plugin.getPing()); final String pingText = String.format("%dms", plugin.getPing());
final int textWidth = fontMetrics.stringWidth(pingText); final int textWidth = fontMetrics.stringWidth(pingText);

View File

@@ -29,6 +29,7 @@ import com.google.inject.Provides;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
@@ -90,6 +91,15 @@ public class FpsPlugin extends Plugin
private final ScheduledExecutorService pingExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor()); private final ScheduledExecutorService pingExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor());
@Getter(AccessLevel.PACKAGE)
private FpsLimitMode limitMode;
@Getter(AccessLevel.PACKAGE)
private boolean drawFps;
@Getter(AccessLevel.PACKAGE)
private boolean drawPing;
@Provides @Provides
FpsConfig provideConfig(ConfigManager configManager) FpsConfig provideConfig(ConfigManager configManager)
{ {
@@ -102,6 +112,10 @@ public class FpsPlugin extends Plugin
if (event.getGroup().equals(CONFIG_GROUP_KEY)) if (event.getGroup().equals(CONFIG_GROUP_KEY))
{ {
drawListener.reloadConfig(); drawListener.reloadConfig();
limitMode = fpsConfig.limitMode();
drawFps = fpsConfig.drawFps();
drawPing = fpsConfig.drawPing();
} }
} }
@@ -115,6 +129,9 @@ public class FpsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
limitMode = fpsConfig.limitMode();
drawFps = fpsConfig.drawFps();
drawPing = fpsConfig.drawPing();
overlayManager.add(overlay); overlayManager.add(overlay);
drawManager.registerEveryFrameListener(drawListener); drawManager.registerEveryFrameListener(drawListener);
drawListener.reloadConfig(); drawListener.reloadConfig();
@@ -131,7 +148,7 @@ public class FpsPlugin extends Plugin
private void getPingToCurrentWorld() private void getPingToCurrentWorld()
{ {
if (client.getGameState().equals(GameState.LOGGED_IN) && fpsConfig.drawPing()) if (client.getGameState().equals(GameState.LOGGED_IN) && drawPing)
{ {
ping = Ping.ping(String.format("oldschool%d.runescape.com", client.getWorld() - 300)); ping = Ping.ping(String.format("oldschool%d.runescape.com", client.getWorld() - 300));
} }