瀏覽代碼

Merge pull request #10895 from Paulb23/fix_delete_animation_frames

Fixed delete animation frames in AnimatedSprite, issue 10788
Rémi Verschelde 8 年之前
父節點
當前提交
ec8f44ed5f
共有 1 個文件被更改,包括 14 次插入0 次删除
  1. 14 0
      editor/plugins/sprite_frames_editor_plugin.cpp

+ 14 - 0
editor/plugins/sprite_frames_editor_plugin.cpp

@@ -244,8 +244,22 @@ void SpriteFramesEditor::_down_pressed() {
 
 void SpriteFramesEditor::_delete_pressed() {
 
+	ERR_FAIL_COND(!frames->has_animation(edited_anim));
+
 	if (tree->get_current() < 0)
 		return;
+
+	int to_delete = tree->get_current();
+	if (to_delete < 0 || to_delete >= frames->get_frame_count(edited_anim)) {
+		return;
+	}
+
+	undo_redo->create_action(TTR("Delete Resource"));
+	undo_redo->add_do_method(frames, "remove_frame", edited_anim, to_delete);
+	undo_redo->add_undo_method(frames, "add_frame", edited_anim, frames->get_frame(edited_anim, to_delete), to_delete);
+	undo_redo->add_do_method(this, "_update_library");
+	undo_redo->add_undo_method(this, "_update_library");
+	undo_redo->commit_action();
 }
 
 void SpriteFramesEditor::_animation_select() {