diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2017-11-15 20:40:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-15 20:40:49 +0100 |
commit | 4d08e7c4204ff3fa0e17e0de7e5a08ef03968202 (patch) | |
tree | 4c108558ec25992c2c940cbbde4d3832055c45a2 /modules/visual_script/visual_script_editor.h | |
parent | 9543801d51910cdf61123f591fd91993f57782ae (diff) | |
parent | 0284727e7bc6337ebcd98e61eacf0d095d74a094 (diff) |
Merge pull request #12948 from vnen/vs-custom-nodes
Create API to add and remove VisualScript custom nodes
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 db54d10300..3d037e82ea 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 |