From db2811ec27fbc427a574b40ec1db940a5a111f45 Mon Sep 17 00:00:00 2001 From: Chris Cranford Date: Sun, 16 Jun 2024 23:26:11 -0400 Subject: [PATCH] GH-416 Support instantiation of script-based classes --- src/script/nodes/memory/memory.cpp | 42 ++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/script/nodes/memory/memory.cpp b/src/script/nodes/memory/memory.cpp index 21600420..1bf2a2c2 100644 --- a/src/script/nodes/memory/memory.cpp +++ b/src/script/nodes/memory/memory.cpp @@ -18,20 +18,46 @@ #include #include +#include +#include class OScriptNodeNewInstance : public OScriptNodeInstance { DECLARE_SCRIPT_NODE_INSTANCE(OScriptNodeNew); String _class_name; + String _script_path; public: int step(OScriptExecutionContext& p_context) override { if (!_class_name.is_empty() && ClassDB::can_instantiate(_class_name)) { - Variant object = ClassDB::instantiate(_class_name); - p_context.set_output(0, object); + if (!_script_path.is_empty()) + { + // Loading a script object instance type + Ref