Regactor hydra

This commit is contained in:
Scott Burns
2019-05-16 00:52:40 +02:00
parent 07cfe6c421
commit b46794cc76
5 changed files with 287 additions and 200 deletions

View File

@@ -29,37 +29,49 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem; import net.runelite.client.config.ConfigItem;
@ConfigGroup("hydra") @ConfigGroup("hydra")
public interface HydraConfig extends Config { public interface HydraConfig extends Config
{
@ConfigItem( @ConfigItem(
position = 0, position = 0,
keyName = "hydraenable", keyName = "hydraenable",
name = "Enable Hydra (194 cb) Helper", name = "Enable Hydra (194 cb) Helper",
description = "Configures whether or not to enable Hydra Helper. (For use on regular hydra's only, will not work with Alchemical Hydra)." description = "Configures whether or not to enable Hydra Helper. (For use on regular hydra's only, will not work with Alchemical Hydra)."
) )
default boolean EnableHydra() { return true; } default boolean EnableHydra()
{
return true;
}
@ConfigItem( @ConfigItem(
position = 1, position = 1,
keyName = "textindicators", keyName = "textindicators",
name = "Text Indicator", name = "Text Indicator",
description = "Configures if text indicator is shown above hydra's or not." description = "Configures if text indicator is shown above hydra's or not."
) )
default boolean TextIndicator() { return true; } default boolean TextIndicator()
{
return true;
}
@ConfigItem( @ConfigItem(
position = 2, position = 2,
keyName = "countersize", keyName = "countersize",
name = "Bold indicator", name = "Bold indicator",
description = "Configures if text indicator is bold or not." description = "Configures if text indicator is bold or not."
) )
default boolean BoldText() { return false; } default boolean BoldText()
{
return false;
}
@ConfigItem( @ConfigItem(
position = 3, position = 3,
keyName = "prayerhelper", keyName = "prayerhelper",
name = "Prayer Helper", name = "Prayer Helper",
description = "Configures if prayer helper is shown or not." description = "Configures if prayer helper is shown or not."
) )
default boolean PrayerHelper() { return true; } default boolean PrayerHelper()
{
return true;
}
} }

View File

@@ -24,53 +24,53 @@
*/ */
package net.runelite.client.plugins.hydra; package net.runelite.client.plugins.hydra;
import java.awt.*; import java.awt.Dimension;
import java.awt.image.BufferedImage; import java.awt.Graphics2D;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.api.*; import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.api.Point; import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.game.SpriteManager;
import net.runelite.client.ui.overlay.*;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.LineComponent; import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.PanelComponent;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG; public class HydraIndicatorOverlay extends Overlay
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE; {
private final HydraConfig config;
private final HydraPlugin plugin;
public class HydraIndicatorOverlay extends Overlay { private final PanelComponent panelComponent = new PanelComponent();
private final HydraConfig config;
private final HydraPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent(); @Inject
private HydraIndicatorOverlay(HydraConfig config, HydraPlugin plugin)
{
this.config = config;
this.plugin = plugin;
setPosition(OverlayPosition.BOTTOM_RIGHT);
setPriority(OverlayPriority.MED);
panelComponent.setPreferredSize(new Dimension(14, 0));
}
@Inject @Override
private HydraIndicatorOverlay(HydraConfig config, HydraPlugin plugin) { public Dimension render(Graphics2D graphics)
this.config = config; {
this.plugin = plugin; if (!config.PrayerHelper())
setPosition(OverlayPosition.BOTTOM_RIGHT); {
setPriority(OverlayPriority.MED); return null;
panelComponent.setPreferredSize(new Dimension(14, 0)); }
}
@Override if (plugin.Hydra != null)
public Dimension render(Graphics2D graphics) { {
if (!config.PrayerHelper()) { if (plugin.hydras.containsKey(plugin.Hydra.getIndex()))
return null; {
} int val = plugin.hydras.get(plugin.Hydra.getIndex());
if (val != 0)
if (plugin.Hydra != null) { {
if (plugin.hydras.containsKey(plugin.Hydra.getIndex())) { panelComponent.getChildren().clear();
int val = plugin.hydras.get(plugin.Hydra.getIndex()); panelComponent.getChildren().add(LineComponent.builder().right(Integer.toString(val)).build());
if (val != 0) { return panelComponent.render(graphics);
panelComponent.getChildren().clear(); }
panelComponent.getChildren().add(LineComponent.builder().right(Integer.toString(val)).build()); }
return panelComponent.render(graphics); }
} return null;
} }
}
return null;
}
} }

View File

@@ -24,16 +24,23 @@
*/ */
package net.runelite.client.plugins.hydra; package net.runelite.client.plugins.hydra;
import java.awt.*; import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.*; import net.runelite.api.NPC;
import net.runelite.api.Point; import net.runelite.api.Point;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.overlay.*; import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.OverlayUtil;
import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.PanelComponent;
public class HydraOverlay extends Overlay { public class HydraOverlay extends Overlay
{
private final HydraConfig config; private final HydraConfig config;
private final HydraPlugin plugin; private final HydraPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent(); private final PanelComponent panelComponent = new PanelComponent();
@@ -43,7 +50,8 @@ public class HydraOverlay extends Overlay {
private Client client; private Client client;
@Inject @Inject
private HydraOverlay(HydraConfig config, HydraPlugin plugin) { private HydraOverlay(HydraConfig config, HydraPlugin plugin)
{
this.config = config; this.config = config;
this.plugin = plugin; this.plugin = plugin;
setLayer(OverlayLayer.ABOVE_SCENE); setLayer(OverlayLayer.ABOVE_SCENE);
@@ -53,41 +61,60 @@ public class HydraOverlay extends Overlay {
} }
@Override @Override
public Dimension render(Graphics2D graphics) { public Dimension render(Graphics2D graphics)
if (!config.TextIndicator()) { {
if (!config.TextIndicator())
{
return null; return null;
} }
for (NPC hydra : client.getNpcs()) { for (NPC hydra : client.getNpcs())
if (hydra == null || hydra.getName() == null) { {
if (hydra == null || hydra.getName() == null)
{
continue; continue;
} }
if (hydra.getName().equalsIgnoreCase("Hydra")) { if (hydra.getName().equalsIgnoreCase("Hydra"))
if (plugin.hydras.containsKey(hydra.getIndex())) { {
if (plugin.hydras.containsKey(hydra.getIndex()))
{
int val = plugin.hydras.get(hydra.getIndex()); int val = plugin.hydras.get(hydra.getIndex());
if (val != 0) { if (val != 0)
if (config.BoldText()) { {
if (config.BoldText())
{
graphics.setFont(FontManager.getRunescapeBoldFont()); graphics.setFont(FontManager.getRunescapeBoldFont());
} }
if (plugin.hydraattacks.containsKey(hydra.getIndex())) { if (plugin.hydraattacks.containsKey(hydra.getIndex()))
{
int attack = plugin.hydraattacks.get(hydra.getIndex()); int attack = plugin.hydraattacks.get(hydra.getIndex());
if (attack == 8261) { if (attack == 8261)
if (val == 3) { {
if (val == 3)
{
OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "MAGE", hydra.getLogicalHeight() + 100), "MAGE", Color.BLUE); OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "MAGE", hydra.getLogicalHeight() + 100), "MAGE", Color.BLUE);
} else { }
else
{
OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "RANGE", hydra.getLogicalHeight() + 100), "RANGE", Color.GREEN); OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "RANGE", hydra.getLogicalHeight() + 100), "RANGE", Color.GREEN);
} }
} else if (attack == 8262) { }
if (val == 3) { else if (attack == 8262)
{
if (val == 3)
{
OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "RANGE", hydra.getLogicalHeight() + 100), "RANGE", Color.GREEN); OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "RANGE", hydra.getLogicalHeight() + 100), "RANGE", Color.GREEN);
} else { }
else
{
OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "MAGE", hydra.getLogicalHeight() + 100), "MAGE", Color.BLUE); OverlayUtil.renderTextLocation(graphics, hydra.getCanvasTextLocation(graphics, "MAGE", hydra.getLogicalHeight() + 100), "MAGE", Color.BLUE);
} }
} }
} }
Point runelitepleaseexplainwhyineedtocheckthisfornullinsteadoftheentirehydravariablethisshitcostmelikeanhourofmylifeandiblameyouadam = hydra.getCanvasTextLocation(graphics, Integer.toString(val), hydra.getLogicalHeight() + 40); Point hydraPoint = hydra.getCanvasTextLocation(graphics, Integer.toString(val), hydra.getLogicalHeight() + 40);
if (runelitepleaseexplainwhyineedtocheckthisfornullinsteadoftheentirehydravariablethisshitcostmelikeanhourofmylifeandiblameyouadam != null) { if (hydraPoint != null)
OverlayUtil.renderTextLocation(graphics, runelitepleaseexplainwhyineedtocheckthisfornullinsteadoftheentirehydravariablethisshitcostmelikeanhourofmylifeandiblameyouadam, Integer.toString(val), Color.WHITE); {
OverlayUtil.renderTextLocation(graphics, hydraPoint, Integer.toString(val), Color.WHITE);
} }
} }
} }

View File

@@ -24,21 +24,24 @@
*/ */
package net.runelite.client.plugins.hydra; package net.runelite.client.plugins.hydra;
import net.runelite.api.events.*;
import net.runelite.client.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.*; import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.events.AnimationChanged;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import java.util.HashMap;
import java.util.Map;
@PluginDescriptor( @PluginDescriptor(
name = "Hydra Helper", name = "Hydra Helper",
description = "Hydra Helper", description = "Hydra Helper",
@@ -65,11 +68,9 @@ public class HydraPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private SpriteManager spriteManager;
@Provides @Provides
HydraConfig provideConfig(ConfigManager configManager) { HydraConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(HydraConfig.class); return configManager.getConfig(HydraConfig.class);
} }
@@ -78,14 +79,16 @@ public class HydraPlugin extends Plugin
NPC Hydra; NPC Hydra;
@Override @Override
protected void startUp() throws Exception { protected void startUp() throws Exception
{
overlayManager.add(HydraOverlay); overlayManager.add(HydraOverlay);
overlayManager.add(HydraPrayOverlay); overlayManager.add(HydraPrayOverlay);
overlayManager.add(HydraIndicatorOverlay); overlayManager.add(HydraIndicatorOverlay);
} }
@Override @Override
protected void shutDown() throws Exception { protected void shutDown() throws Exception
{
overlayManager.remove(HydraOverlay); overlayManager.remove(HydraOverlay);
overlayManager.remove(HydraPrayOverlay); overlayManager.remove(HydraPrayOverlay);
overlayManager.remove(HydraIndicatorOverlay); overlayManager.remove(HydraIndicatorOverlay);
@@ -94,14 +97,19 @@ public class HydraPlugin extends Plugin
} }
@Subscribe @Subscribe
public void onNpcSpawned(NpcSpawned event) { public void onNpcSpawned(NpcSpawned event)
if (!config.EnableHydra()) { {
if (!config.EnableHydra())
{
return; return;
} }
NPC hydra = event.getNpc(); NPC hydra = event.getNpc();
if (hydra.getCombatLevel() != 0 && hydra.getName() != null) { if (hydra.getCombatLevel() != 0 && hydra.getName() != null)
if (hydra.getName().equalsIgnoreCase("Hydra")) { {
if (!hydras.containsKey(hydra.getIndex())) { if (hydra.getName().equalsIgnoreCase("Hydra"))
{
if (!hydras.containsKey(hydra.getIndex()))
{
hydras.put(hydra.getIndex(), 3); hydras.put(hydra.getIndex(), 3);
} }
} }
@@ -109,56 +117,75 @@ public class HydraPlugin extends Plugin
} }
@Subscribe @Subscribe
public void onNpcDespawned(NpcDespawned event) { public void onNpcDespawned(NpcDespawned event)
if (!config.EnableHydra()) { {
if (!config.EnableHydra())
{
return; return;
} }
NPC hydra = event.getNpc(); NPC hydra = event.getNpc();
if (hydra.getCombatLevel() != 0 && hydra.getName() != null) { if (hydra.getCombatLevel() != 0 && hydra.getName() != null)
if (hydra.getName().equalsIgnoreCase("Hydra")) { {
if (hydras.containsKey(hydra.getIndex())) { if (hydra.getName().equalsIgnoreCase("Hydra"))
hydras.remove(hydra.getIndex()); {
} hydras.remove(hydra.getIndex());
if (hydraattacks.containsKey(hydra.getIndex())) { hydraattacks.remove(hydra.getIndex());
hydraattacks.remove(hydra.getIndex());
}
} }
} }
} }
@Subscribe @Subscribe
public void onAnimationChanged(AnimationChanged event) { public void onAnimationChanged(AnimationChanged event)
{
Actor monster = event.getActor(); Actor monster = event.getActor();
Actor local = client.getLocalPlayer(); Actor local = client.getLocalPlayer();
if (monster instanceof NPC) { if (monster instanceof NPC)
{
NPC hydra = (NPC) monster; NPC hydra = (NPC) monster;
if (hydra.getCombatLevel() != 0 && hydra.getName() != null) { if (hydra.getCombatLevel() != 0 && hydra.getName() != null)
if (hydra.getName().equalsIgnoreCase("Hydra")) { {
if (hydras.containsKey(hydra.getIndex())) { if (hydra.getName().equalsIgnoreCase("Hydra"))
if (hydra.getAnimation() == 8261 || hydra.getAnimation() == 8262) { {
if (hydra.getInteracting().equals(local)) { if (hydras.containsKey(hydra.getIndex()))
{
if (hydra.getAnimation() == 8261 || hydra.getAnimation() == 8262)
{
if (hydra.getInteracting().equals(local))
{
Hydra = hydra; Hydra = hydra;
} }
if (hydraattacks.containsKey(hydra.getIndex())) { if (hydraattacks.containsKey(hydra.getIndex()))
{
int lastattack = hydraattacks.get(hydra.getIndex()); int lastattack = hydraattacks.get(hydra.getIndex());
hydraattacks.replace(hydra.getIndex(), hydra.getAnimation()); hydraattacks.replace(hydra.getIndex(), hydra.getAnimation());
if (lastattack != hydra.getAnimation()) { if (lastattack != hydra.getAnimation())
{
hydras.replace(hydra.getIndex(), 2); hydras.replace(hydra.getIndex(), 2);
} else { }
else
{
int currval = hydras.get(hydra.getIndex()); int currval = hydras.get(hydra.getIndex());
if (currval == 1) { if (currval == 1)
{
hydras.replace(hydra.getIndex(), 3); hydras.replace(hydra.getIndex(), 3);
} else { }
else
{
hydras.replace(hydra.getIndex(), currval - 1); hydras.replace(hydra.getIndex(), currval - 1);
} }
} }
} else { }
else
{
hydraattacks.put(hydra.getIndex(), hydra.getAnimation()); hydraattacks.put(hydra.getIndex(), hydra.getAnimation());
int currval = hydras.get(hydra.getIndex()); int currval = hydras.get(hydra.getIndex());
if (currval == 1) { if (currval == 1)
{
hydras.replace(hydra.getIndex(), 3); hydras.replace(hydra.getIndex(), 3);
} else { }
else
{
hydras.replace(hydra.getIndex(), currval - 1); hydras.replace(hydra.getIndex(), currval - 1);
} }
} }

View File

@@ -24,101 +24,122 @@
*/ */
package net.runelite.client.plugins.hydra; package net.runelite.client.plugins.hydra;
import java.awt.*; import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.*; import net.runelite.api.Prayer;
import net.runelite.api.Point; import net.runelite.api.SpriteID;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
import net.runelite.client.ui.overlay.*; import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ComponentConstants; import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.ImageComponent; import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.PanelComponent;
public class HydraPrayOverlay extends Overlay { public class HydraPrayOverlay extends Overlay
private final HydraConfig config; {
private final HydraPlugin plugin; private final HydraConfig config;
private final HydraPlugin plugin;
private static final Color NOT_ACTIVATED_BACKGROUND_COLOR = new Color(150, 0, 0, 150); private static final Color NOT_ACTIVATED_BACKGROUND_COLOR = new Color(150, 0, 0, 150);
private final SpriteManager spriteManager; private final SpriteManager spriteManager;
private final PanelComponent imagePanelComponent = new PanelComponent(); private final PanelComponent imagePanelComponent = new PanelComponent();
@Inject @Inject
private Client client; private Client client;
@Inject @Inject
private HydraPrayOverlay(HydraConfig config, HydraPlugin plugin, SpriteManager spriteManager) { private HydraPrayOverlay(HydraConfig config, HydraPlugin plugin, SpriteManager spriteManager)
this.config = config; {
this.plugin = plugin; this.config = config;
setPosition(OverlayPosition.BOTTOM_RIGHT); this.plugin = plugin;
setPriority(OverlayPriority.HIGH); setPosition(OverlayPosition.BOTTOM_RIGHT);
this.spriteManager = spriteManager; setPriority(OverlayPriority.HIGH);
} this.spriteManager = spriteManager;
}
@Override @Override
public Dimension render(Graphics2D graphics) { public Dimension render(Graphics2D graphics)
if (!config.PrayerHelper()) { {
return null; if (!config.PrayerHelper())
} {
return null;
}
if (plugin.Hydra != null) { if (plugin.Hydra != null)
if (plugin.hydras.containsKey(plugin.Hydra.getIndex())) { {
int val = plugin.hydras.get(plugin.Hydra.getIndex()); if (plugin.hydras.containsKey(plugin.Hydra.getIndex()))
if (val != 0) { {
if (plugin.hydraattacks.containsKey(plugin.Hydra.getIndex())) { int val = plugin.hydras.get(plugin.Hydra.getIndex());
int attack = plugin.hydraattacks.get(plugin.Hydra.getIndex()); if (val != 0)
if (attack == 8261) { {
if (val == 3) { if (plugin.hydraattacks.containsKey(plugin.Hydra.getIndex()))
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MAGIC, 0); {
int attack = plugin.hydraattacks.get(plugin.Hydra.getIndex());
if (attack == 8261)
{
if (val == 3)
{
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MAGIC, 0);
imagePanelComponent.getChildren().clear(); imagePanelComponent.getChildren().clear();
imagePanelComponent.getChildren().add(new ImageComponent(prayerImage)); imagePanelComponent.getChildren().add(new ImageComponent(prayerImage));
imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC) imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC)
? ComponentConstants.STANDARD_BACKGROUND_COLOR ? ComponentConstants.STANDARD_BACKGROUND_COLOR
: NOT_ACTIVATED_BACKGROUND_COLOR); : NOT_ACTIVATED_BACKGROUND_COLOR);
return imagePanelComponent.render(graphics); return imagePanelComponent.render(graphics);
} else { }
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MISSILES, 0); else
{
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MISSILES, 0);
imagePanelComponent.getChildren().clear(); imagePanelComponent.getChildren().clear();
imagePanelComponent.getChildren().add(new ImageComponent(prayerImage)); imagePanelComponent.getChildren().add(new ImageComponent(prayerImage));
imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MISSILES) imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MISSILES)
? ComponentConstants.STANDARD_BACKGROUND_COLOR ? ComponentConstants.STANDARD_BACKGROUND_COLOR
: NOT_ACTIVATED_BACKGROUND_COLOR); : NOT_ACTIVATED_BACKGROUND_COLOR);
return imagePanelComponent.render(graphics); return imagePanelComponent.render(graphics);
} }
} else if (attack == 8262) { }
if (val == 3) { else if (attack == 8262)
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MISSILES, 0); {
if (val == 3)
{
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MISSILES, 0);
imagePanelComponent.getChildren().clear(); imagePanelComponent.getChildren().clear();
imagePanelComponent.getChildren().add(new ImageComponent(prayerImage)); imagePanelComponent.getChildren().add(new ImageComponent(prayerImage));
imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MISSILES) imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MISSILES)
? ComponentConstants.STANDARD_BACKGROUND_COLOR ? ComponentConstants.STANDARD_BACKGROUND_COLOR
: NOT_ACTIVATED_BACKGROUND_COLOR); : NOT_ACTIVATED_BACKGROUND_COLOR);
return imagePanelComponent.render(graphics); return imagePanelComponent.render(graphics);
} else { }
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MAGIC, 0); else
{
final BufferedImage prayerImage = spriteManager.getSprite(SpriteID.PRAYER_PROTECT_FROM_MAGIC, 0);
imagePanelComponent.getChildren().clear(); imagePanelComponent.getChildren().clear();
imagePanelComponent.getChildren().add(new ImageComponent(prayerImage)); imagePanelComponent.getChildren().add(new ImageComponent(prayerImage));
imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC) imagePanelComponent.setBackgroundColor(client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC)
? ComponentConstants.STANDARD_BACKGROUND_COLOR ? ComponentConstants.STANDARD_BACKGROUND_COLOR
: NOT_ACTIVATED_BACKGROUND_COLOR); : NOT_ACTIVATED_BACKGROUND_COLOR);
return imagePanelComponent.render(graphics); return imagePanelComponent.render(graphics);
} }
} }
} }
} }
} }
} }
return null; return null;
} }
} }