You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library. - Make library dropdown in new animation window assign correct library when creating an animation. - Similarly allow choice of library when duplicating animation. - Make library dropdown default to library of currently selected animation. - Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed). - When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global]. - Add parentheses when appending x when duplicating animations in the library editor, for consistency. - Change titles and prompts to be distinct in name/rename/duplicate dialiogs. - Fix bug in OprionButton.get_selectable_item(true) when last is not selectable. - Fix issues where animation wasn't found on deletion/rename by correctly prepending library name. - Remove an extraneous print_line from animation_track_editor. - Add messages to errors when an animation isn't found.
This commit is contained in:
@@ -63,7 +63,7 @@ Error AnimationLibrary::add_animation(const StringName &p_name, const Ref<Animat
|
||||
}
|
||||
|
||||
void AnimationLibrary::remove_animation(const StringName &p_name) {
|
||||
ERR_FAIL_COND(!animations.has(p_name));
|
||||
ERR_FAIL_COND_MSG(!animations.has(p_name), vformat("Animation not found: %s.", p_name));
|
||||
|
||||
animations.erase(p_name);
|
||||
emit_signal(SNAME("animation_removed"), p_name);
|
||||
@@ -71,9 +71,9 @@ void AnimationLibrary::remove_animation(const StringName &p_name) {
|
||||
}
|
||||
|
||||
void AnimationLibrary::rename_animation(const StringName &p_name, const StringName &p_new_name) {
|
||||
ERR_FAIL_COND(!animations.has(p_name));
|
||||
ERR_FAIL_COND_MSG(!animations.has(p_name), vformat("Animation not found: %s.", p_name));
|
||||
ERR_FAIL_COND_MSG(!is_valid_animation_name(p_new_name), "Invalid animation name: '" + String(p_new_name) + "'.");
|
||||
ERR_FAIL_COND(animations.has(p_new_name));
|
||||
ERR_FAIL_COND_MSG(animations.has(p_new_name), vformat("Animation name \"%s\" already exists in library.", p_new_name));
|
||||
|
||||
animations.insert(p_new_name, animations[p_name]);
|
||||
animations.erase(p_name);
|
||||
|
||||
Reference in New Issue
Block a user