diff options
author | reduz <reduzio@gmail.com> | 2022-03-23 21:08:54 +0100 |
---|---|---|
committer | reduz <reduzio@gmail.com> | 2022-03-24 14:21:52 +0100 |
commit | 09b951b99b1a8e799b00adaa896c788949c18017 (patch) | |
tree | 4a81fb9584b90063c651758ba53b16462083fe66 /core/variant | |
parent | d7d528c15f0e858b52bb0f510ff47e65c2341de1 (diff) |
Refactor Object metadata
* API kept the same (Although functions could be renamed to set_metadata/get_metadata in a later PR), so not much should change.
* Metadata now exposed as individual properties.
* Properties are editable in inspector (unless metadata name begins with _) under the metadata/ namespace.
* Added the ability to Add/Remove metadata properties to the inspector.
This is a functionality that was requested very often, that makes metadata work a bit more similar to custom properties in Blender.
Diffstat (limited to 'core/variant')
-rw-r--r-- | core/variant/variant_construct.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/core/variant/variant_construct.h b/core/variant/variant_construct.h index 6027cb027e..ce2e9af04f 100644 --- a/core/variant/variant_construct.h +++ b/core/variant/variant_construct.h @@ -543,14 +543,12 @@ public: class VariantConstructNoArgsObject { public: static void construct(Variant &r_ret, const Variant **p_args, Callable::CallError &r_error) { - VariantInternal::clear(&r_ret); - VariantInternal::object_assign_null(&r_ret); + r_ret = (Object *)nullptr; // Must construct a TYPE_OBJECT containing nullptr. r_error.error = Callable::CallError::CALL_OK; } static inline void validated_construct(Variant *r_ret, const Variant **p_args) { - VariantInternal::clear(r_ret); - VariantInternal::object_assign_null(r_ret); + *r_ret = (Object *)nullptr; // Must construct a TYPE_OBJECT containing nullptr. } static void ptr_construct(void *base, const void **p_args) { PtrConstruct<Object *>::construct(nullptr, base); |