'use strict' module.exports = class deckButton { constructor(iconPath, label, color, pressAction, releaseAction=null, toggleable=false, toggleIcon=null){ this.iconPath = iconPath; this.label = label; this.color = color; this.pressAction = pressAction; this.releaseAction = releaseAction; this.toggleable = toggleable; this.toggleIcon = toggleIcon; } press(){ if(!this.pressAction){ return; } let action = this.pressAction.split(':'); try { const o = pluginloader.plugins[action[0]]; const f = o[action[1]] const a = f(action[2]) } catch (error) { console.log("Press Referenced plugin not found.") } } release(){ if(!this.releaseAction){ return; } let action = this.releaseAction.split(':'); try { const o = pluginloader.plugins[action[0]]; const f = o[action[1]] const a = f(action[2]) } catch (error) { console.log("Release Referenced plugin not found.") } } toJSON() { return { "iconPath": this.iconPath, "label": this.label, "color": this.color, "pressAction": this.pressAction, "releaseAction": this.releaseAction, "toggleable": this.toggleable, "toggleIcon": this.toggleIcon }; } static from(json) { return Object.assign(new deckButton(), json) } }