Unbind keybind event when plugin stopped

This commit is contained in:
Samuel Elliott 2018-03-09 00:46:56 +00:00
parent 47c786a98a
commit 1319793123
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
1 changed files with 11 additions and 4 deletions

View File

@ -1,5 +1,7 @@
module.exports = (Plugin, { Logger, Settings, Modals, BdMenu: { BdMenuItems }, Api }) => class extends Plugin { module.exports = (Plugin, { Logger, Settings, Modals, BdMenu: { BdMenuItems }, Api }) => class extends Plugin {
async onstart() { async onstart() {
this.keybindEvent = this.keybindEvent.bind(this);
// Some array event examples // Some array event examples
const arraySetting = this.settings.getSetting('default', 'array-1'); const arraySetting = this.settings.getSetting('default', 'array-1');
Logger.log('Array setting', arraySetting); Logger.log('Array setting', arraySetting);
@ -10,10 +12,7 @@ module.exports = (Plugin, { Logger, Settings, Modals, BdMenu: { BdMenuItems }, A
// Keybind setting examples // Keybind setting examples
const keybindSetting = this.settings.getSetting('default', 'keybind-1'); const keybindSetting = this.settings.getSetting('default', 'keybind-1');
Logger.log('Keybind setting', keybindSetting); Logger.log('Keybind setting', keybindSetting);
keybindSetting.on('keybind-activated', event => { keybindSetting.on('keybind-activated', this.keybindEvent);
Logger.log('Keybind pressed', event);
Modals.basic('Example Plugin 4', 'Test keybind activated.');
});
// Create a new settings set and add it to the menu // Create a new settings set and add it to the menu
const set = Settings.createSet({ const set = Settings.createSet({
@ -66,6 +65,14 @@ module.exports = (Plugin, { Logger, Settings, Modals, BdMenu: { BdMenuItems }, A
} }
onstop() { onstop() {
const keybindSetting = this.settings.getSetting('default', 'keybind-1');
keybindSetting.off('keybind-activated', this.keybindEvent);
BdMenuItems.removeAll(); BdMenuItems.removeAll();
} }
keybindEvent(event) {
Logger.log('Keybind pressed', event);
Modals.basic('Example Plugin 4', 'Test keybind activated.');
}
}; };