Make sprite and widget sprite overrides more flexible

- Expose NodeCache interface in RuneLite
- Expose Client.getWidgetSpriteCache and reset method on it
- Change setters for sprite and widget overrides to be getters

This allows for more than 1 plugin to use the widget/sprite override API
in future.

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-09-04 18:05:41 +02:00
parent 0fe6d4be3a
commit ac5ef045b7
7 changed files with 69 additions and 28 deletions

View File

@@ -145,7 +145,9 @@ public class InterfaceStylesPlugin extends Plugin
}
}
client.setSpriteOverrides(overrides);
client.getWidgetSpriteCache().reset();
client.getSpriteOverrides().clear();
client.getSpriteOverrides().putAll(overrides);
}
private void overrideWidgetSprites()
@@ -168,7 +170,8 @@ public class InterfaceStylesPlugin extends Plugin
}
}
client.setWidgetSpriteOverrides(widgetOverrides);
client.getWidgetSpriteOverrides().clear();
client.getWidgetSpriteOverrides().putAll(widgetOverrides);
}
private SpritePixels getFileSpritePixels(String file, String subfolder)
@@ -292,8 +295,8 @@ public class InterfaceStylesPlugin extends Plugin
private void removeGameframe()
{
client.setSpriteOverrides(null);
client.setWidgetSpriteOverrides(null);
client.getSpriteOverrides().clear();
client.getWidgetSpriteOverrides().clear();
BufferedImage compassImage = spriteManager.getSprite(SpriteID.COMPASS_TEXTURE, 0);