summaryrefslogtreecommitdiff
path: root/scene/main
diff options
context:
space:
mode:
authorkobewi <kobewi4e@gmail.com>2022-04-01 20:30:23 +0200
committerkobewi <kobewi4e@gmail.com>2022-05-06 00:27:10 +0200
commit1dc7bcc83c81b32c3651f3fa869055a0cce22085 (patch)
treed08d774fa53fc3368b13a23c0c3b5a9cd6327d57 /scene/main
parent066692b6d081f1577bc0ebcd84da204339218ec6 (diff)
Cleanup metadata usage
Diffstat (limited to 'scene/main')
-rw-r--r--scene/main/node.cpp29
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);
}