diff options
author | kobewi <kobewi4e@gmail.com> | 2022-04-01 20:30:23 +0200 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2022-05-06 00:27:10 +0200 |
commit | 1dc7bcc83c81b32c3651f3fa869055a0cce22085 (patch) | |
tree | d08d774fa53fc3368b13a23c0c3b5a9cd6327d57 /scene/main | |
parent | 066692b6d081f1577bc0ebcd84da204339218ec6 (diff) |
Cleanup metadata usage
Diffstat (limited to 'scene/main')
-rw-r--r-- | scene/main/node.cpp | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp index f549b3dde2..8961b5ba54 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -2012,35 +2012,28 @@ Node *Node::get_deepest_editable_node(Node *p_start_node) const { #ifdef TOOLS_ENABLED void Node::set_property_pinned(const String &p_property, bool p_pinned) { bool current_pinned = false; - bool has_pinned = has_meta("_edit_pinned_properties_"); - Array pinned; - String psa = get_property_store_alias(p_property); - if (has_pinned) { - pinned = get_meta("_edit_pinned_properties_"); - current_pinned = pinned.has(psa); - } + Array pinned = get_meta("_edit_pinned_properties_", Array()); + StringName psa = get_property_store_alias(p_property); + current_pinned = pinned.has(psa); if (current_pinned != p_pinned) { if (p_pinned) { pinned.append(psa); - if (!has_pinned) { - set_meta("_edit_pinned_properties_", pinned); - } } else { pinned.erase(psa); - if (pinned.is_empty()) { - remove_meta("_edit_pinned_properties_"); - } } } + + if (pinned.is_empty()) { + remove_meta("_edit_pinned_properties_"); + } else { + set_meta("_edit_pinned_properties_", pinned); + } } bool Node::is_property_pinned(const StringName &p_property) const { - if (!has_meta("_edit_pinned_properties_")) { - return false; - } - Array pinned = get_meta("_edit_pinned_properties_"); - String psa = get_property_store_alias(p_property); + Array pinned = get_meta("_edit_pinned_properties_", Array()); + StringName psa = get_property_store_alias(p_property); return pinned.has(psa); } |