You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-14 13:41:12 +00:00
It is now possible to cancel on 2D polygon editor. RMB (previously close) and ESC will cancel polygon. Closes #15474
This commit is contained in:
@@ -229,6 +229,18 @@ void AbstractPolygon2DEditor::_wip_changed() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AbstractPolygon2DEditor::_wip_cancel() {
|
||||||
|
|
||||||
|
wip.clear();
|
||||||
|
wip_active = false;
|
||||||
|
|
||||||
|
edited_point = PosVertex();
|
||||||
|
hover_point = Vertex();
|
||||||
|
selected_point = Vertex();
|
||||||
|
|
||||||
|
canvas_item_editor->update_viewport();
|
||||||
|
}
|
||||||
|
|
||||||
void AbstractPolygon2DEditor::_wip_close() {
|
void AbstractPolygon2DEditor::_wip_close() {
|
||||||
if (!wip_active)
|
if (!wip_active)
|
||||||
return;
|
return;
|
||||||
@@ -429,7 +441,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (mb->get_button_index() == BUTTON_RIGHT && mb->is_pressed() && wip_active) {
|
} else if (mb->get_button_index() == BUTTON_RIGHT && mb->is_pressed() && wip_active) {
|
||||||
_wip_close();
|
_wip_cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -510,6 +522,8 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||||||
} else if (wip_active && k->get_scancode() == KEY_ENTER) {
|
} else if (wip_active && k->get_scancode() == KEY_ENTER) {
|
||||||
|
|
||||||
_wip_close();
|
_wip_close();
|
||||||
|
} else if (wip_active && k->get_scancode() == KEY_ESCAPE) {
|
||||||
|
_wip_cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ protected:
|
|||||||
virtual void _menu_option(int p_option);
|
virtual void _menu_option(int p_option);
|
||||||
void _wip_changed();
|
void _wip_changed();
|
||||||
void _wip_close();
|
void _wip_close();
|
||||||
|
void _wip_cancel();
|
||||||
bool _delete_point(const Vector2 &p_gpoint);
|
bool _delete_point(const Vector2 &p_gpoint);
|
||||||
|
|
||||||
void _notification(int p_what);
|
void _notification(int p_what);
|
||||||
|
|||||||
Reference in New Issue
Block a user