summaryrefslogtreecommitdiffstats
path: root/core/variant/dictionary.cpp
diff options
context:
space:
mode:
authorrune-scape <allie.smith.epic@gmail.com>2023-12-28 14:44:23 -0800
committerrune-scape <spartacrafter@gmail.com>2024-08-29 13:39:27 -0700
commit154049ce1792a6e12b990e0a414a6c084c3b91c5 (patch)
tree102bda57c74f9efaa227c970255327f734043ce9 /core/variant/dictionary.cpp
parent40b378e9e2338d84f897f6991cc913a713295785 (diff)
downloadredot-engine-154049ce1792a6e12b990e0a414a6c084c3b91c5.tar.gz
StringName Dictionary keys
also added 'is_string()' method to Variant and refactored many String type comparisons to use it instead
Diffstat (limited to 'core/variant/dictionary.cpp')
-rw-r--r--core/variant/dictionary.cpp17
1 files changed, 2 insertions, 15 deletions
diff --git a/core/variant/dictionary.cpp b/core/variant/dictionary.cpp
index 7416101d51..733d13a106 100644
--- a/core/variant/dictionary.cpp
+++ b/core/variant/dictionary.cpp
@@ -81,15 +81,7 @@ Variant Dictionary::get_value_at_index(int p_index) const {
Variant &Dictionary::operator[](const Variant &p_key) {
if (unlikely(_p->read_only)) {
- if (p_key.get_type() == Variant::STRING_NAME) {
- const StringName *sn = VariantInternal::get_string_name(&p_key);
- const String &key = sn->operator String();
- if (likely(_p->variant_map.has(key))) {
- *_p->read_only = _p->variant_map[key];
- } else {
- *_p->read_only = Variant();
- }
- } else if (likely(_p->variant_map.has(p_key))) {
+ if (likely(_p->variant_map.has(p_key))) {
*_p->read_only = _p->variant_map[p_key];
} else {
*_p->read_only = Variant();
@@ -97,12 +89,7 @@ Variant &Dictionary::operator[](const Variant &p_key) {
return *_p->read_only;
} else {
- if (p_key.get_type() == Variant::STRING_NAME) {
- const StringName *sn = VariantInternal::get_string_name(&p_key);
- return _p->variant_map[sn->operator String()];
- } else {
- return _p->variant_map[p_key];
- }
+ return _p->variant_map[p_key];
}
}