Tweak the name for duplicated animations in the editor

This commit is contained in:
Silc Renew 2023-01-30 05:13:43 +09:00
parent a3dae9e548
commit df50929043

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("/")) {