summaryrefslogtreecommitdiff
path: root/modules/visual_script/visual_script_editor.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2017-11-15 20:40:49 +0100
committerGitHub <noreply@github.com>2017-11-15 20:40:49 +0100
commit4d08e7c4204ff3fa0e17e0de7e5a08ef03968202 (patch)
tree4c108558ec25992c2c940cbbde4d3832055c45a2 /modules/visual_script/visual_script_editor.h
parent9543801d51910cdf61123f591fd91993f57782ae (diff)
parent0284727e7bc6337ebcd98e61eacf0d095d74a094 (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.h23
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