feat: updated engine version to 4.4-rc1
This commit is contained in:
parent
ee00efde1f
commit
21ba8e33af
5459 changed files with 1128836 additions and 198305 deletions
|
|
@ -40,7 +40,6 @@
|
|||
#include "editor/themes/editor_scale.h"
|
||||
#include "scene/gui/button.h"
|
||||
#include "scene/gui/dialogs.h"
|
||||
#include "scene/gui/separator.h"
|
||||
|
||||
bool AbstractPolygon2DEditor::Vertex::operator==(const AbstractPolygon2DEditor::Vertex &p_vertex) const {
|
||||
return polygon == p_vertex.polygon && vertex == p_vertex.vertex;
|
||||
|
|
@ -158,9 +157,9 @@ void AbstractPolygon2DEditor::_notification(int p_what) {
|
|||
switch (p_what) {
|
||||
case NOTIFICATION_ENTER_TREE:
|
||||
case NOTIFICATION_THEME_CHANGED: {
|
||||
button_create->set_icon(get_editor_theme_icon(SNAME("CurveCreate")));
|
||||
button_edit->set_icon(get_editor_theme_icon(SNAME("CurveEdit")));
|
||||
button_delete->set_icon(get_editor_theme_icon(SNAME("CurveDelete")));
|
||||
button_create->set_button_icon(get_editor_theme_icon(SNAME("CurveCreate")));
|
||||
button_edit->set_button_icon(get_editor_theme_icon(SNAME("CurveEdit")));
|
||||
button_delete->set_button_icon(get_editor_theme_icon(SNAME("CurveDelete")));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_READY: {
|
||||
|
|
@ -260,6 +259,11 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
return false;
|
||||
}
|
||||
|
||||
Viewport *vp = _get_node()->get_viewport();
|
||||
if (vp && !vp->is_visible_subviewport()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
|
||||
Ref<InputEventMouseButton> mb = p_event;
|
||||
|
||||
|
|
@ -277,10 +281,11 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
}
|
||||
|
||||
if (mb.is_valid()) {
|
||||
Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform();
|
||||
Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_screen_transform();
|
||||
|
||||
Vector2 gpoint = mb->get_position();
|
||||
Vector2 cpoint = _get_node()->to_local(canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(mb->get_position())));
|
||||
Vector2 cpoint = canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(gpoint));
|
||||
cpoint = _get_node()->get_screen_transform().affine_inverse().xform(cpoint);
|
||||
|
||||
if (mode == MODE_EDIT || (_is_line() && mode == MODE_CREATE)) {
|
||||
if (mb->get_button_index() == MouseButton::LEFT) {
|
||||
|
|
@ -412,7 +417,8 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
Vector2 gpoint = mm->get_position();
|
||||
|
||||
if (edited_point.valid() && (wip_active || mm->get_button_mask().has_flag(MouseButtonMask::LEFT))) {
|
||||
Vector2 cpoint = _get_node()->to_local(canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(gpoint)));
|
||||
Vector2 cpoint = canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(gpoint));
|
||||
cpoint = _get_node()->get_screen_transform().affine_inverse().xform(cpoint);
|
||||
|
||||
//Move the point in a single axis. Should only work when editing a polygon and while holding shift.
|
||||
if (mode == MODE_EDIT && mm->is_shift_pressed()) {
|
||||
|
|
@ -499,7 +505,12 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
|
|||
return;
|
||||
}
|
||||
|
||||
Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform();
|
||||
Viewport *vp = _get_node()->get_viewport();
|
||||
if (vp && !vp->is_visible_subviewport()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_screen_transform();
|
||||
// All polygon points are sharp, so use the sharp handle icon
|
||||
const Ref<Texture2D> handle = get_editor_theme_icon(SNAME("EditorPathSharpHandle"));
|
||||
|
||||
|
|
@ -576,7 +587,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
|
|||
if (vertex == hover_point) {
|
||||
Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
|
||||
int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
|
||||
String num = String::num(vertex.vertex);
|
||||
String num = String::num_int64(vertex.vertex);
|
||||
Size2 num_size = font->get_string_size(num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
|
||||
const float outline_size = 4;
|
||||
Color font_color = get_theme_color(SceneStringName(font_color), EditorStringName(Editor));
|
||||
|
|
@ -620,9 +631,6 @@ void AbstractPolygon2DEditor::edit(Node *p_polygon) {
|
|||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
void AbstractPolygon2DEditor::_bind_methods() {
|
||||
}
|
||||
|
||||
void AbstractPolygon2DEditor::remove_point(const Vertex &p_vertex) {
|
||||
EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
|
||||
Vector<Vector2> vertices = _get_polygon(p_vertex.polygon);
|
||||
|
|
@ -657,7 +665,7 @@ AbstractPolygon2DEditor::PosVertex AbstractPolygon2DEditor::closest_point(const
|
|||
const real_t grab_threshold = EDITOR_GET("editors/polygon_editor/point_grab_radius");
|
||||
|
||||
const int n_polygons = _get_polygon_count();
|
||||
const Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform();
|
||||
const Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_screen_transform();
|
||||
|
||||
PosVertex closest;
|
||||
real_t closest_dist = 1e10;
|
||||
|
|
@ -687,7 +695,7 @@ AbstractPolygon2DEditor::PosVertex AbstractPolygon2DEditor::closest_edge_point(c
|
|||
const real_t eps2 = eps * eps;
|
||||
|
||||
const int n_polygons = _get_polygon_count();
|
||||
const Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform();
|
||||
const Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_screen_transform();
|
||||
|
||||
PosVertex closest;
|
||||
real_t closest_dist = 1e10;
|
||||
|
|
@ -728,19 +736,19 @@ AbstractPolygon2DEditor::AbstractPolygon2DEditor(bool p_wip_destructive) {
|
|||
edge_point = PosVertex();
|
||||
|
||||
button_create = memnew(Button);
|
||||
button_create->set_theme_type_variation("FlatButton");
|
||||
button_create->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
add_child(button_create);
|
||||
button_create->connect(SceneStringName(pressed), callable_mp(this, &AbstractPolygon2DEditor::_menu_option).bind(MODE_CREATE));
|
||||
button_create->set_toggle_mode(true);
|
||||
|
||||
button_edit = memnew(Button);
|
||||
button_edit->set_theme_type_variation("FlatButton");
|
||||
button_edit->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
add_child(button_edit);
|
||||
button_edit->connect(SceneStringName(pressed), callable_mp(this, &AbstractPolygon2DEditor::_menu_option).bind(MODE_EDIT));
|
||||
button_edit->set_toggle_mode(true);
|
||||
|
||||
button_delete = memnew(Button);
|
||||
button_delete->set_theme_type_variation("FlatButton");
|
||||
button_delete->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
add_child(button_delete);
|
||||
button_delete->connect(SceneStringName(pressed), callable_mp(this, &AbstractPolygon2DEditor::_menu_option).bind(MODE_DELETE));
|
||||
button_delete->set_toggle_mode(true);
|
||||
|
|
@ -751,7 +759,9 @@ AbstractPolygon2DEditor::AbstractPolygon2DEditor(bool p_wip_destructive) {
|
|||
}
|
||||
|
||||
void AbstractPolygon2DEditorPlugin::edit(Object *p_object) {
|
||||
polygon_editor->edit(Object::cast_to<Node>(p_object));
|
||||
Node *polygon_node = Object::cast_to<Node>(p_object);
|
||||
polygon_editor->edit(polygon_node);
|
||||
make_visible(polygon_node != nullptr);
|
||||
}
|
||||
|
||||
bool AbstractPolygon2DEditorPlugin::handles(Object *p_object) const {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue