runelite-client: fix infoboxes
Infobox overlay is not created by the injector so client was not being injected Fixed from 403f7bd5d7a3d514a9dcec067cfdba622e3361b0
This commit is contained in:
@@ -28,11 +28,18 @@ import java.awt.Graphics2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.runelite.api.Client;
|
||||
|
||||
public class DynamicRenderer implements Renderer
|
||||
{
|
||||
private final Client client;
|
||||
private final List<Overlay> overlays = new ArrayList<>();
|
||||
|
||||
public DynamicRenderer(Client client)
|
||||
{
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public void add(Overlay overlay)
|
||||
{
|
||||
overlays.add(overlay);
|
||||
@@ -43,7 +50,7 @@ public class DynamicRenderer implements Renderer
|
||||
{
|
||||
for (Overlay overlay : overlays)
|
||||
{
|
||||
if (!overlay.isDrawn())
|
||||
if (!overlay.shouldDraw(client))
|
||||
continue;
|
||||
|
||||
Graphics2D graphics = clientBuffer.createGraphics();
|
||||
|
||||
@@ -22,17 +22,14 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package net.runelite.client.ui.overlay;
|
||||
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Rectangle;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
|
||||
public abstract class Overlay
|
||||
{
|
||||
@@ -43,9 +40,6 @@ public abstract class Overlay
|
||||
private boolean drawOverBankScreen = false;
|
||||
private boolean drawOverClickToPlayScreen = false;
|
||||
|
||||
@Inject
|
||||
Client client;
|
||||
|
||||
public Overlay(OverlayPosition position)
|
||||
{
|
||||
this(position, OverlayPriority.NONE);
|
||||
@@ -89,10 +83,12 @@ public abstract class Overlay
|
||||
this.bounds = bounds;
|
||||
}
|
||||
|
||||
public boolean isDrawn()
|
||||
public boolean shouldDraw(Client client)
|
||||
{
|
||||
if (client == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!drawOverLoginScreen && client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -56,9 +56,9 @@ public class OverlayRenderer
|
||||
|
||||
public void render(BufferedImage clientBuffer)
|
||||
{
|
||||
TopDownRendererLeft tdl = new TopDownRendererLeft();
|
||||
TopDownRendererLeft tdl = new TopDownRendererLeft(client);
|
||||
TopDownRendererRight tdr = new TopDownRendererRight(client);
|
||||
DynamicRenderer dr = new DynamicRenderer();
|
||||
DynamicRenderer dr = new DynamicRenderer(client);
|
||||
for (Plugin plugin : pluginManager.getPlugins())
|
||||
{
|
||||
for (Overlay overlay : plugin.getOverlays())
|
||||
|
||||
@@ -30,6 +30,7 @@ import java.awt.Rectangle;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.runelite.api.Client;
|
||||
|
||||
public class TopDownRendererLeft implements Renderer
|
||||
{
|
||||
@@ -37,8 +38,14 @@ public class TopDownRendererLeft implements Renderer
|
||||
private static final int BORDER_LEFT = 10;
|
||||
private static final int PADDING = 10;
|
||||
|
||||
private final Client client;
|
||||
private final List<Overlay> overlays = new ArrayList<>();
|
||||
|
||||
public TopDownRendererLeft(Client client)
|
||||
{
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public void add(Overlay overlay)
|
||||
{
|
||||
overlays.add(overlay);
|
||||
@@ -52,7 +59,7 @@ public class TopDownRendererLeft implements Renderer
|
||||
|
||||
for (Overlay overlay : overlays)
|
||||
{
|
||||
if (!overlay.isDrawn())
|
||||
if (!overlay.shouldDraw(client))
|
||||
continue;
|
||||
|
||||
BufferedImage image = clientBuffer.getSubimage(BORDER_LEFT, y, clientBuffer.getWidth() - BORDER_LEFT, clientBuffer.getHeight() - y);
|
||||
|
||||
@@ -63,7 +63,7 @@ public class TopDownRendererRight implements Renderer
|
||||
|
||||
for (Overlay overlay : overlays)
|
||||
{
|
||||
if (!overlay.isDrawn())
|
||||
if (!overlay.shouldDraw(client))
|
||||
continue;
|
||||
|
||||
BufferedImage image = new BufferedImage(clientWidth, clientHeight, BufferedImage.TYPE_INT_ARGB);
|
||||
|
||||
Reference in New Issue
Block a user