Skip to content

Commit

Permalink
Merge pull request #83659 from aXu-AP/uv-edit-transform-points-undo
Browse files Browse the repository at this point in the history
Fix Polygon2D undo on transforming vertices
  • Loading branch information
akien-mga committed Oct 20, 2023
2 parents dd6afa6 + 76f81cf commit 365507f
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions editor/plugins/polygon_2d_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -759,20 +759,29 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) {
}
} else {
if (uv_drag && !uv_create) {
if (uv_edit_mode[0]->is_pressed()) { // Edit UV.
if (uv_edit_mode[0]->is_pressed()) {
undo_redo->create_action(TTR("Transform UV Map"));
undo_redo->add_do_method(node, "set_uv", node->get_uv());
undo_redo->add_undo_method(node, "set_uv", points_prev);
undo_redo->add_do_method(uv_edit_draw, "queue_redraw");
undo_redo->add_undo_method(uv_edit_draw, "queue_redraw");
undo_redo->commit_action();
} else if (uv_edit_mode[1]->is_pressed() && uv_move_current == UV_MODE_EDIT_POINT) { // Edit polygon.
undo_redo->create_action(TTR("Transform Polygon"));
undo_redo->add_do_method(node, "set_polygon", node->get_polygon());
undo_redo->add_undo_method(node, "set_polygon", points_prev);
undo_redo->add_do_method(uv_edit_draw, "queue_redraw");
undo_redo->add_undo_method(uv_edit_draw, "queue_redraw");
undo_redo->commit_action();
} else if (uv_edit_mode[1]->is_pressed()) {
switch (uv_move_current) {
case UV_MODE_EDIT_POINT:
case UV_MODE_MOVE:
case UV_MODE_ROTATE:
case UV_MODE_SCALE: {
undo_redo->create_action(TTR("Transform Polygon"));
undo_redo->add_do_method(node, "set_polygon", node->get_polygon());
undo_redo->add_undo_method(node, "set_polygon", points_prev);
undo_redo->add_do_method(uv_edit_draw, "queue_redraw");
undo_redo->add_undo_method(uv_edit_draw, "queue_redraw");
undo_redo->commit_action();
} break;
default: {
} break;
}
}

uv_drag = false;
Expand Down

0 comments on commit 365507f

Please sign in to comment.