api: implement resetHealthBarCaches and getHealthBarFrontSpriteId

Remove getHealthBarCache
This commit is contained in:
Hydrox6
2019-06-15 14:40:38 +01:00
parent e5de331df5
commit 940a404ec6
6 changed files with 20 additions and 7 deletions

View File

@@ -1639,5 +1639,5 @@ public interface Client extends GameEngine
void draw2010Menu(); void draw2010Menu();
NodeCache getHealthBarCache(); void resetHealthBarCaches();
} }

View File

@@ -30,5 +30,7 @@ public interface HealthBar
SpritePixels getHealthBarBackSprite(); SpritePixels getHealthBarBackSprite();
int getHealthBarFrontSpriteId();
void setPadding(int padding); void setPadding(int padding);
} }

View File

@@ -33,7 +33,6 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.HealthBar; import net.runelite.api.HealthBar;
import net.runelite.api.HealthBarOverride; import net.runelite.api.HealthBarOverride;
import net.runelite.api.NodeCache;
import net.runelite.api.SpriteID; import net.runelite.api.SpriteID;
import net.runelite.api.SpritePixels; import net.runelite.api.SpritePixels;
import net.runelite.api.events.BeforeMenuRender; import net.runelite.api.events.BeforeMenuRender;
@@ -94,8 +93,7 @@ public class InterfaceStylesPlugin extends Plugin
removeGameframe(); removeGameframe();
healthBarOverride = null; healthBarOverride = null;
client.setHealthBarOverride(null); client.setHealthBarOverride(null);
NodeCache heathBarCache = client.getHealthBarCache(); client.resetHealthBarCaches(); // invalidate healthbar cache so padding resets
heathBarCache.reset(); // invalidate healthbar cache so padding resets
}); });
} }
@@ -273,8 +271,7 @@ public class InterfaceStylesPlugin extends Plugin
private void overrideHealthBars() private void overrideHealthBars()
{ {
// Reset health bar cache to reset applied padding // Reset health bar cache to reset applied padding
NodeCache healthBarCache = client.getHealthBarCache(); client.resetHealthBarCaches();
healthBarCache.reset();
if (config.hdHealthBars()) if (config.hdHealthBars())
{ {

View File

@@ -1550,4 +1550,12 @@ public abstract class RSClientMixin implements RSClient
enumCache.put(id, rsEnum); enumCache.put(id, rsEnum);
return rsEnum; return rsEnum;
} }
@Inject
@Override
public void resetHealthBarCaches()
{
getHealthBarCache().reset();
getHealthBarSpriteCache().reset();
}
} }

View File

@@ -982,6 +982,8 @@ public interface RSClient extends RSGameEngine, Client
void RasterizerDrawCircle(int x, int y, int r, int rgb); void RasterizerDrawCircle(int x, int y, int r, int rgb);
@Import("healthbarCache") @Import("healthbarCache")
@Override
RSNodeCache getHealthBarCache(); RSNodeCache getHealthBarCache();
@Import("healthBarSpriteCache")
RSNodeCache getHealthBarSpriteCache();
} }

View File

@@ -32,6 +32,10 @@ public interface RSHealthBar extends RSCacheableNode, HealthBar
@Import("healthScale") @Import("healthScale")
int getHealthScale(); int getHealthScale();
@Import("healthBarFrontSpriteId")
@Override
int getHealthBarFrontSpriteId();
@Import("getHealthBarFrontSprite") @Import("getHealthBarFrontSprite")
@Override @Override
RSSpritePixels getHealthBarFrontSprite(); RSSpritePixels getHealthBarFrontSprite();