Merge pull request #72336 from TokageItLab/dupe-animation-name

Tweak the name for duplicated animations in the editor
This commit is contained in:
Rémi Verschelde 2023-01-30 10:02:20 +01:00
commit 2e792431c0
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -1105,9 +1105,24 @@ void AnimationPlayerEditor::_animation_duplicate() {
return;
}
int count = 2;
String new_name = current;
while (player->has_animation(new_name)) {
new_name = new_name + " (copy)";
PackedStringArray split = new_name.split("_");
int last_index = split.size() - 1;
if (last_index > 0 && split[last_index].is_valid_int() && split[last_index].to_int() >= 0) {
count = split[last_index].to_int();
split.remove_at(last_index);
new_name = String("_").join(split);
}
while (true) {
String attempt = new_name;
attempt += vformat("_%d", count);
if (player->has_animation(attempt)) {
count++;
continue;
}
new_name = attempt;
break;
}
if (new_name.contains("/")) {