diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-09-03 17:38:06 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-09-03 17:38:06 +0200 |
commit | 13a90e938f0e3ae567f7d7256e35c38bf744e59d (patch) | |
tree | 120e69941581aa607fcd43349f32666ea9d59d1b /core/variant/variant_construct.h | |
parent | 514c564a8c855d798ec6b5a52860e5bca8d57bc9 (diff) | |
parent | 154049ce1792a6e12b990e0a414a6c084c3b91c5 (diff) | |
download | redot-engine-13a90e938f0e3ae567f7d7256e35c38bf744e59d.tar.gz |
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
Diffstat (limited to 'core/variant/variant_construct.h')
-rw-r--r-- | core/variant/variant_construct.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/core/variant/variant_construct.h b/core/variant/variant_construct.h index 5afdb884f6..a46fadb198 100644 --- a/core/variant/variant_construct.h +++ b/core/variant/variant_construct.h @@ -232,7 +232,7 @@ template <typename T> class VariantConstructorFromString { public: static void construct(Variant &r_ret, const Variant **p_args, Callable::CallError &r_error) { - if (p_args[0]->get_type() != Variant::STRING) { + if (!p_args[0]->is_string()) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.argument = 0; r_error.expected = Variant::STRING; @@ -240,7 +240,7 @@ public: } VariantTypeChanger<T>::change(&r_ret); - const String &src_str = *VariantGetInternalPtr<String>::get_ptr(p_args[0]); + const String src_str = *p_args[0]; if (r_ret.get_type() == Variant::Type::INT) { r_ret = src_str.to_int(); @@ -417,7 +417,7 @@ public: return; } - if (p_args[2]->get_type() != Variant::STRING_NAME) { + if (!p_args[2]->is_string()) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.argument = 2; r_error.expected = Variant::STRING_NAME; @@ -426,8 +426,7 @@ public: const Array &base_arr = *VariantGetInternalPtr<Array>::get_ptr(p_args[0]); const uint32_t type = p_args[1]->operator uint32_t(); - const StringName &class_name = *VariantGetInternalPtr<StringName>::get_ptr(p_args[2]); - r_ret = Array(base_arr, type, class_name, *p_args[3]); + r_ret = Array(base_arr, type, *p_args[2], *p_args[3]); } static inline void validated_construct(Variant *r_ret, const Variant **p_args) { |