You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, we show the plugin manager button (the one with the store icon) in the game's settings window. The way this is currently implemented is in that it completely overwrites the vanilla menu implementation to rebuild the menu with the plugin manager entry in it. This isn't the best way to do it, since if there are any other plugins that want to show their own entry in main menu (similar to plugin manager), then this will end up causing a race condition where which ever plugin gets loaded the last will supersede any parent implementations of the main menu. And in the case if plugin manager is the last plugin to load up, then we'll end up overwriting the previous menu overrides from any earlier loaded plugins.
A better idea should be to override only the very specific methods of the main menu in a way that reuses as much of the vanilla code as possible. Something along these lines say when overriding the _save_state method. The current implementation in plugin manager completely overwrites the parent method:
Still need more exploration here to see if this approach can fit well with when overriding all the other remaining methods in AllSettingsWindow. but the idea here is that such changes will help plugin manager to co-exist with other main menu overriding plugins.
The text was updated successfully, but these errors were encountered:
Right now, we show the plugin manager button (the one with the store icon) in the game's settings window. The way this is currently implemented is in that it completely overwrites the vanilla menu implementation to rebuild the menu with the plugin manager entry in it. This isn't the best way to do it, since if there are any other plugins that want to show their own entry in main menu (similar to plugin manager), then this will end up causing a race condition where which ever plugin gets loaded the last will supersede any parent implementations of the main menu. And in the case if plugin manager is the last plugin to load up, then we'll end up overwriting the previous menu overrides from any earlier loaded plugins.
A better idea should be to override only the very specific methods of the main menu in a way that reuses as much of the vanilla code as possible. Something along these lines say when overriding the
_save_state
method. The current implementation in plugin manager completely overwrites the parent method:plugin-manager/plugin_manager.py
Lines 2526 to 2548 in 1885090
Instead, a better approach could be to do something like this:
Still need more exploration here to see if this approach can fit well with when overriding all the other remaining methods in
AllSettingsWindow
. but the idea here is that such changes will help plugin manager to co-exist with other main menu overriding plugins.The text was updated successfully, but these errors were encountered: