Object *ObjectTypeDB::instance(const String &p_type) { TypeInfo *ti; { OBJTYPE_LOCK; ti=types.getptr(p_type); ERR_FAIL_COND_V(!ti,NULL); ERR_FAIL_COND_V(ti->disabled,NULL); ERR_FAIL_COND_V(!ti->creation_func,NULL); } return ti->creation_func(); }
Object *ObjectTypeDB::instance(const StringName &p_type) { TypeInfo *ti; { OBJTYPE_LOCK; ti=types.getptr(p_type); if (!ti || ti->disabled || !ti->creation_func) { if (compat_types.has(p_type)) { ti=types.getptr(compat_types[p_type]); } } ERR_FAIL_COND_V(!ti,NULL); ERR_FAIL_COND_V(ti->disabled,NULL); ERR_FAIL_COND_V(!ti->creation_func,NULL); } return ti->creation_func(); }