runelite-client: split plugin loading from plugin start so that plugins can access configuration on start

This commit is contained in:
Adam
2017-07-09 17:38:34 -04:00
parent 2aba47d1c3
commit 3ac8d9df67
2 changed files with 11 additions and 3 deletions

View File

@@ -121,13 +121,18 @@ public class RuneLite
eventBus.register(menuManager); eventBus.register(menuManager);
// Load the plugins, but does not start them yet.
// This will initialize configuration
pluginManager = new PluginManager(this); pluginManager = new PluginManager(this);
pluginManager.loadAll(); pluginManager.loadPlugins();
// Plugins have registered their config, so set default config // Plugins have registered their config, so set default config
// to main settings // to main settings
configManager.loadDefault(); configManager.loadDefault();
// Start plugins
pluginManager.start();
renderer = new OverlayRenderer(); renderer = new OverlayRenderer();
loadSession(); loadSession();

View File

@@ -64,15 +64,15 @@ public class PluginManager
private final RuneLite runelite; private final RuneLite runelite;
private ServiceManager manager; private ServiceManager manager;
private final List<Plugin> plugins = new ArrayList<>();
public PluginManager(RuneLite runelite) public PluginManager(RuneLite runelite)
{ {
this.runelite = runelite; this.runelite = runelite;
} }
public void loadAll() public void loadPlugins()
{ {
List<Plugin> plugins = new ArrayList<>();
plugins.add(new Boosts()); plugins.add(new Boosts());
plugins.add(new OpponentInfo()); plugins.add(new OpponentInfo());
plugins.add(new FPS()); plugins.add(new FPS());
@@ -101,7 +101,10 @@ public class PluginManager
logger.info("Loading developer plugins"); logger.info("Loading developer plugins");
plugins.add(new DevTools()); plugins.add(new DevTools());
} }
}
public void start()
{
// Add plugin listeners // Add plugin listeners
for (Plugin plugin : plugins) for (Plugin plugin : plugins)
{ {