diff options
| author | George Marques | 2017-11-15 13:57:24 -0200 |
|---|---|---|
| committer | George Marques | 2017-11-15 17:13:13 -0200 |
| commit | 0284727e7bc6337ebcd98e61eacf0d095d74a094 (patch) | |
| tree | 4c108558ec25992c2c940cbbde4d3832055c45a2 /modules/visual_script/visual_script_editor.h | |
| parent | 9543801d51910cdf61123f591fd91993f57782ae (diff) | |
| download | godot-0284727e7bc6337ebcd98e61eacf0d095d74a094.tar.gz godot-0284727e7bc6337ebcd98e61eacf0d095d74a094.tar.zst godot-0284727e7bc6337ebcd98e61eacf0d095d74a094.zip | |
Create API to add and remove VisualScript custom nodes
This makes a VisualScriptEditor singleton, which gives plugins the
ability to register their own custom nodes. Those will be available for
insertion in the Visual Script editor, under the "Custom Nodes"
category.
Diffstat (limited to 'modules/visual_script/visual_script_editor.h')
| -rw-r--r-- | modules/visual_script/visual_script_editor.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h index db54d1030..3d037e82e 100644 --- a/modules/visual_script/visual_script_editor.h +++ b/modules/visual_script/visual_script_editor.h @@ -278,6 +278,29 @@ public: VisualScriptEditor(); ~VisualScriptEditor(); }; + +// Singleton +class _VisualScriptEditor : public Object { + GDCLASS(_VisualScriptEditor, Object); + + friend class VisualScriptLanguage; + +protected: + static void _bind_methods(); + static _VisualScriptEditor *singleton; + + static Map<String, RefPtr> custom_nodes; + static Ref<VisualScriptNode> create_node_custom(const String &p_name); + +public: + static _VisualScriptEditor *get_singleton() { return singleton; } + + void add_custom_node(const String &p_name, const String &p_category, const Ref<Script> &p_script); + void remove_custom_node(const String &p_name, const String &p_category); + + _VisualScriptEditor(); + ~_VisualScriptEditor(); +}; #endif #endif // VISUALSCRIPT_EDITOR_H |
