feat: modules moved and engine moved to submodule

This commit is contained in:
Jan van der Weide 2025-04-12 18:40:44 +02:00
parent dfb5e645cd
commit c33d2130cc
5136 changed files with 225275 additions and 64485 deletions

View file

@ -49,14 +49,22 @@ struct DictionaryPrivate {
Variant *typed_fallback = nullptr; // Allows a typed dictionary to return dummy values when attempting an invalid access.
};
void Dictionary::get_key_list(List<Variant> *p_keys) const {
if (_p->variant_map.is_empty()) {
return;
}
Dictionary::ConstIterator Dictionary::begin() const {
return _p->variant_map.begin();
}
Dictionary::ConstIterator Dictionary::end() const {
return _p->variant_map.end();
}
LocalVector<Variant> Dictionary::get_key_list() const {
LocalVector<Variant> keys;
keys.reserve(_p->variant_map.size());
for (const KeyValue<Variant, Variant> &E : _p->variant_map) {
p_keys->push_back(E.key);
keys.push_back(E.key);
}
return keys;
}
Variant Dictionary::get_key_at_index(int p_index) const {
@ -101,10 +109,12 @@ Variant &Dictionary::operator[](const Variant &p_key) {
}
return *_p->read_only;
} else {
if (unlikely(!_p->variant_map.has(key))) {
VariantInternal::initialize(&_p->variant_map[key], _p->typed_value.type);
const uint32_t old_size = _p->variant_map.size();
Variant &value = _p->variant_map[key];
if (_p->variant_map.size() > old_size) {
VariantInternal::initialize(&value, _p->typed_value.type);
}
return _p->variant_map[key];
return value;
}
}
@ -208,7 +218,7 @@ bool Dictionary::is_empty() const {
bool Dictionary::has(const Variant &p_key) const {
Variant key = p_key;
ERR_FAIL_COND_V(!_p->typed_key.validate(key, "use 'has'"), false);
return _p->variant_map.has(p_key);
return _p->variant_map.has(key);
}
bool Dictionary::has_all(const Array &p_keys) const {