1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Change reset timing of the AnimationMixer and Skeleton on save

This commit is contained in:
Silc Lizard (Tokage) Renew
2025-01-12 07:04:55 +09:00
parent 21a6bd8dca
commit d5e91eaa42
2 changed files with 9 additions and 2 deletions

View File

@@ -1889,11 +1889,12 @@ void EditorNode::_save_scene(String p_file, int idx) {
return;
}
List<Pair<AnimationMixer *, Ref<AnimatedValuesBackup>>> anim_backups;
_reset_animation_mixers(scene, &anim_backups);
scene->propagate_notification(NOTIFICATION_EDITOR_PRE_SAVE);
editor_data.apply_changes_in_editors();
List<Pair<AnimationMixer *, Ref<AnimatedValuesBackup>>> anim_backups;
_reset_animation_mixers(scene, &anim_backups);
save_default_environment();
_save_editor_states(p_file, idx);

View File

@@ -327,6 +327,12 @@ void Skeleton3D::_notification(int p_what) {
update_flags = UPDATE_FLAG_POSE;
_notification(NOTIFICATION_UPDATE_SKELETON);
} break;
#ifdef TOOLS_ENABLED
case NOTIFICATION_EDITOR_PRE_SAVE: {
force_update_all_dirty_bones();
emit_signal(SceneStringName(skeleton_updated));
} break;
#endif // TOOLS_ENABLED
case NOTIFICATION_UPDATE_SKELETON: {
// Update bone transforms to apply unprocessed poses.
force_update_all_dirty_bones();