Avoid extra copy/validation of keys in Dictionary::has_all

Updated Dictionary::has_all to check its HashMap directly for each validated key instead of going through Dictionary::has, to avoid additional copy/validation of each key.
This commit is contained in:
aaronp64
2025-04-29 15:27:12 -04:00
parent e37c6261ea
commit e4bd611e19

View File

@ -225,7 +225,7 @@ bool Dictionary::has_all(const Array &p_keys) const {
for (int i = 0; i < p_keys.size(); i++) {
Variant key = p_keys[i];
ERR_FAIL_COND_V(!_p->typed_key.validate(key, "use 'has_all'"), false);
if (!has(key)) {
if (!_p->variant_map.has(key)) {
return false;
}
}