diff --git a/editor/js/state.js b/editor/js/state.js index 4d46c5e7c8975ad633d4fb0fd992280d440d55b8..9e36c27a5eea4ba9c0b554faa72374fa4cc4cdc5 100644 --- a/editor/js/state.js +++ b/editor/js/state.js @@ -34,9 +34,13 @@ class State extends Tool { return; } + this.tool.onToolDeactivate(tool); + this.previousTool = this.tool; this.tool = tool; this.display.setSelectedTool(tool); + + this.tool.onToolActivate(); } setSelectedItem(item) { diff --git a/editor/js/tools/tool.js b/editor/js/tools/tool.js index babede8b2a1a6d6a1b148d7e45fd046fcbf7665f..76b9ea6bc427a080e76f0425b7fb4294170185fd 100644 --- a/editor/js/tools/tool.js +++ b/editor/js/tools/tool.js @@ -18,6 +18,18 @@ class Tool { return this.icon; } + onToolActivate() { + if (this.warnings) { + console.warn('Method "onToolActivate" not implemented.'); + } + } + + onToolDeactivate(nextTool) { + if (this.warnings) { + console.warn('Method "onToolDeactivate" not implemented.'); + } + } + onNodeClick(node) { if (this.warnings) { console.warn('Method "onNodeClick" not implemented.');