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.
This commit is contained in:
parent
d7d528c15f
commit
09b951b99b
9 changed files with 175 additions and 33 deletions
|
|
@ -39,6 +39,7 @@
|
|||
#include "core/templates/hash_map.h"
|
||||
#include "core/templates/list.h"
|
||||
#include "core/templates/map.h"
|
||||
#include "core/templates/ordered_hash_map.h"
|
||||
#include "core/templates/safe_refcount.h"
|
||||
#include "core/templates/set.h"
|
||||
#include "core/templates/vmap.h"
|
||||
|
|
@ -530,7 +531,8 @@ private:
|
|||
#endif
|
||||
ScriptInstance *script_instance = nullptr;
|
||||
Variant script; // Reference does not exist yet, store it in a Variant.
|
||||
Dictionary metadata;
|
||||
OrderedHashMap<StringName, Variant> metadata;
|
||||
HashMap<StringName, OrderedHashMap<StringName, Variant>::Element> metadata_properties;
|
||||
mutable StringName _class_name;
|
||||
mutable const StringName *_class_ptr = nullptr;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue