| 992 | } |
| 993 | |
| 994 | Variant EditorData::script_class_instance(const String &p_class) { |
| 995 | if (ScriptServer::is_global_class(p_class)) { |
| 996 | Ref<Script> script = script_class_load_script(p_class); |
| 997 | if (script.is_valid()) { |
| 998 | // Store in a variant to initialize the refcount if needed. |
| 999 | Variant v = ClassDB::instantiate(script->get_instance_base_type()); |
| 1000 | if (v) { |
| 1001 | Object *obj = v; |
| 1002 | PropertyUtils::assign_custom_type_script(obj, script); |
| 1003 | obj->set_script(script); |
| 1004 | } |
| 1005 | return v; |
| 1006 | } |
| 1007 | } |
| 1008 | return Variant(); |
| 1009 | } |
| 1010 | |
| 1011 | Ref<Script> EditorData::script_class_load_script(const String &p_class) const { |
| 1012 | if (!ScriptServer::is_global_class(p_class)) { |
no test coverage detected