Merge pull request #78492 from KoBeWi/too_slow

Update indices after removing custom data layers
This commit is contained in:
Yuri Sizov 2023-06-21 11:19:36 +02:00 committed by GitHub
commit ebd44641c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1063,12 +1063,16 @@ void TileSet::move_custom_data_layer(int p_from_index, int p_to_pos) {
void TileSet::remove_custom_data_layer(int p_index) {
ERR_FAIL_INDEX(p_index, custom_data_layers.size());
custom_data_layers.remove_at(p_index);
for (KeyValue<String, int> E : custom_data_layers_by_name) {
String to_erase;
for (KeyValue<String, int> &E : custom_data_layers_by_name) {
if (E.value == p_index) {
custom_data_layers_by_name.erase(E.key);
break;
to_erase = E.key;
} else if (E.value > p_index) {
E.value--;
}
}
custom_data_layers_by_name.erase(to_erase);
for (KeyValue<int, Ref<TileSetSource>> source : sources) {
source.value->remove_custom_data_layer(p_index);