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
|
|
@ -64,7 +64,7 @@ void TileDataEditor::_tile_set_changed_deferred_update() {
|
|||
}
|
||||
|
||||
TileData *TileDataEditor::_get_tile_data(TileMapCell p_cell) {
|
||||
ERR_FAIL_COND_V(!tile_set.is_valid(), nullptr);
|
||||
ERR_FAIL_COND_V(tile_set.is_null(), nullptr);
|
||||
ERR_FAIL_COND_V(!tile_set->has_source(p_cell.source_id), nullptr);
|
||||
|
||||
TileData *td = nullptr;
|
||||
|
|
@ -129,7 +129,7 @@ void DummyObject::clear_dummy_properties() {
|
|||
}
|
||||
|
||||
void GenericTilePolygonEditor::_base_control_draw() {
|
||||
ERR_FAIL_COND(!tile_set.is_valid());
|
||||
ERR_FAIL_COND(tile_set.is_null());
|
||||
|
||||
real_t grab_threshold = EDITOR_GET("editors/polygon_editor/point_grab_radius");
|
||||
|
||||
|
|
@ -165,10 +165,14 @@ void GenericTilePolygonEditor::_base_control_draw() {
|
|||
base_control->draw_set_transform_matrix(xform);
|
||||
|
||||
// Draw fill rect under texture region.
|
||||
Rect2 texture_rect(-background_region.size / 2, background_region.size);
|
||||
Rect2 texture_rect(Vector2(), background_region.size);
|
||||
if (tile_data) {
|
||||
texture_rect.position -= tile_data->get_texture_origin();
|
||||
if (tile_data->get_transpose()) {
|
||||
texture_rect.size = Size2(texture_rect.size.y, texture_rect.size.x);
|
||||
}
|
||||
}
|
||||
texture_rect.position -= texture_rect.size / 2; // Half-size offset must be applied after transposing.
|
||||
base_control->draw_rect(texture_rect, Color(1, 1, 1, 0.3));
|
||||
|
||||
// Draw the background.
|
||||
|
|
@ -180,18 +184,14 @@ void GenericTilePolygonEditor::_base_control_draw() {
|
|||
if (tile_data->get_flip_v()) {
|
||||
region_size.y = -region_size.y;
|
||||
}
|
||||
base_control->draw_texture_rect_region(background_atlas_source->get_texture(), Rect2(-background_region.size / 2 - tile_data->get_texture_origin(), region_size), background_region, tile_data->get_modulate(), tile_data->get_transpose());
|
||||
// Destination rect position must account for transposing, size must not.
|
||||
base_control->draw_texture_rect_region(background_atlas_source->get_texture(), Rect2(texture_rect.position, region_size), background_region, tile_data->get_modulate(), tile_data->get_transpose());
|
||||
}
|
||||
|
||||
// Compute and draw the grid area.
|
||||
Rect2 grid_area = Rect2(-base_tile_size / 2, base_tile_size);
|
||||
if (tile_data) {
|
||||
grid_area.expand_to(-background_region.get_size() / 2 - tile_data->get_texture_origin());
|
||||
grid_area.expand_to(background_region.get_size() / 2 - tile_data->get_texture_origin());
|
||||
} else {
|
||||
grid_area.expand_to(-background_region.get_size() / 2);
|
||||
grid_area.expand_to(background_region.get_size() / 2);
|
||||
}
|
||||
grid_area.expand_to(texture_rect.position);
|
||||
grid_area.expand_to(texture_rect.get_end());
|
||||
base_control->draw_rect(grid_area, Color(1, 1, 1, 0.3), false);
|
||||
|
||||
// Draw grid.
|
||||
|
|
@ -452,7 +452,7 @@ void GenericTilePolygonEditor::_grab_polygon_segment_point(Vector2 p_pos, const
|
|||
}
|
||||
|
||||
void GenericTilePolygonEditor::_snap_to_tile_shape(Point2 &r_point, float &r_current_snapped_dist, float p_snap_dist) {
|
||||
ERR_FAIL_COND(!tile_set.is_valid());
|
||||
ERR_FAIL_COND(tile_set.is_null());
|
||||
|
||||
Vector<Point2> polygon = tile_set->get_tile_shape_polygon();
|
||||
for (int i = 0; i < polygon.size(); i++) {
|
||||
|
|
@ -523,6 +523,21 @@ void GenericTilePolygonEditor::_base_control_gui_input(Ref<InputEvent> p_event)
|
|||
xform.set_origin(base_control->get_size() / 2 + panning);
|
||||
xform.set_scale(Vector2(editor_zoom_widget->get_zoom(), editor_zoom_widget->get_zoom()));
|
||||
|
||||
Ref<InputEventPanGesture> pan_gesture = p_event;
|
||||
if (pan_gesture.is_valid()) {
|
||||
panning += pan_gesture->get_delta() * 8;
|
||||
drag_last_pos = Vector2();
|
||||
button_center_view->set_disabled(panning.is_zero_approx());
|
||||
accept_event();
|
||||
}
|
||||
|
||||
Ref<InputEventMagnifyGesture> magnify_gesture = p_event;
|
||||
if (magnify_gesture.is_valid()) {
|
||||
editor_zoom_widget->set_zoom(editor_zoom_widget->get_zoom() * magnify_gesture->get_factor());
|
||||
_zoom_changed();
|
||||
accept_event();
|
||||
}
|
||||
|
||||
Ref<InputEventMouseMotion> mm = p_event;
|
||||
if (mm.is_valid()) {
|
||||
if (drag_type == DRAG_TYPE_DRAG_POINT) {
|
||||
|
|
@ -707,7 +722,7 @@ void GenericTilePolygonEditor::_base_control_gui_input(Ref<InputEvent> p_event)
|
|||
|
||||
void GenericTilePolygonEditor::_set_snap_option(int p_index) {
|
||||
current_snap_option = p_index;
|
||||
button_pixel_snap->set_icon(button_pixel_snap->get_popup()->get_item_icon(p_index));
|
||||
button_pixel_snap->set_button_icon(button_pixel_snap->get_popup()->get_item_icon(p_index));
|
||||
snap_subdivision->set_visible(p_index == SNAP_GRID);
|
||||
|
||||
if (initializing) {
|
||||
|
|
@ -736,7 +751,7 @@ void GenericTilePolygonEditor::set_use_undo_redo(bool p_use_undo_redo) {
|
|||
}
|
||||
|
||||
void GenericTilePolygonEditor::set_tile_set(Ref<TileSet> p_tile_set) {
|
||||
ERR_FAIL_COND(!p_tile_set.is_valid());
|
||||
ERR_FAIL_COND(p_tile_set.is_null());
|
||||
if (tile_set == p_tile_set) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -859,17 +874,22 @@ void GenericTilePolygonEditor::_notification(int p_what) {
|
|||
button_expand->set_pressed_no_signal(false);
|
||||
}
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_READY: {
|
||||
get_parent()->connect(SceneStringName(tree_exited), callable_mp(TileSetEditor::get_singleton(), &TileSetEditor::remove_expanded_editor));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_THEME_CHANGED: {
|
||||
button_expand->set_icon(get_editor_theme_icon(SNAME("DistractionFree")));
|
||||
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_center_view->set_icon(get_editor_theme_icon(SNAME("CenterView")));
|
||||
button_advanced_menu->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
|
||||
button_expand->set_button_icon(get_editor_theme_icon(SNAME("DistractionFree")));
|
||||
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")));
|
||||
button_center_view->set_button_icon(get_editor_theme_icon(SNAME("CenterView")));
|
||||
button_advanced_menu->set_button_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
|
||||
button_pixel_snap->get_popup()->set_item_icon(0, get_editor_theme_icon(SNAME("SnapDisable")));
|
||||
button_pixel_snap->get_popup()->set_item_icon(1, get_editor_theme_icon(SNAME("Snap")));
|
||||
button_pixel_snap->get_popup()->set_item_icon(2, get_editor_theme_icon(SNAME("SnapGrid")));
|
||||
button_pixel_snap->set_icon(button_pixel_snap->get_popup()->get_item_icon(current_snap_option));
|
||||
button_pixel_snap->set_button_icon(button_pixel_snap->get_popup()->get_item_icon(current_snap_option));
|
||||
|
||||
PopupMenu *p = button_advanced_menu->get_popup();
|
||||
p->set_item_icon(p->get_item_index(ROTATE_RIGHT), get_editor_theme_icon(SNAME("RotateRight")));
|
||||
|
|
@ -898,17 +918,17 @@ GenericTilePolygonEditor::GenericTilePolygonEditor() {
|
|||
tools_button_group.instantiate();
|
||||
|
||||
button_expand = memnew(Button);
|
||||
button_expand->set_theme_type_variation("FlatButton");
|
||||
button_expand->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
button_expand->set_toggle_mode(true);
|
||||
button_expand->set_pressed(false);
|
||||
button_expand->set_tooltip_text(TTR("Expand editor"));
|
||||
button_expand->connect("toggled", callable_mp(this, &GenericTilePolygonEditor::_toggle_expand));
|
||||
button_expand->connect(SceneStringName(toggled), callable_mp(this, &GenericTilePolygonEditor::_toggle_expand));
|
||||
toolbar->add_child(button_expand);
|
||||
|
||||
toolbar->add_child(memnew(VSeparator));
|
||||
|
||||
button_create = memnew(Button);
|
||||
button_create->set_theme_type_variation("FlatButton");
|
||||
button_create->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
button_create->set_toggle_mode(true);
|
||||
button_create->set_button_group(tools_button_group);
|
||||
button_create->set_pressed(true);
|
||||
|
|
@ -916,14 +936,14 @@ GenericTilePolygonEditor::GenericTilePolygonEditor() {
|
|||
toolbar->add_child(button_create);
|
||||
|
||||
button_edit = memnew(Button);
|
||||
button_edit->set_theme_type_variation("FlatButton");
|
||||
button_edit->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
button_edit->set_toggle_mode(true);
|
||||
button_edit->set_button_group(tools_button_group);
|
||||
button_edit->set_tooltip_text(TTR("Edit points tool"));
|
||||
toolbar->add_child(button_edit);
|
||||
|
||||
button_delete = memnew(Button);
|
||||
button_delete->set_theme_type_variation("FlatButton");
|
||||
button_delete->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
button_delete->set_toggle_mode(true);
|
||||
button_delete->set_button_group(tools_button_group);
|
||||
button_delete->set_tooltip_text(TTR("Delete points tool"));
|
||||
|
|
@ -995,7 +1015,7 @@ GenericTilePolygonEditor::GenericTilePolygonEditor() {
|
|||
button_center_view->set_anchors_and_offsets_preset(Control::PRESET_TOP_RIGHT, Control::PRESET_MODE_MINSIZE, 5);
|
||||
button_center_view->set_grow_direction_preset(Control::PRESET_TOP_RIGHT);
|
||||
button_center_view->connect(SceneStringName(pressed), callable_mp(this, &GenericTilePolygonEditor::_center_view));
|
||||
button_center_view->set_theme_type_variation("FlatButton");
|
||||
button_center_view->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
button_center_view->set_tooltip_text(TTR("Center View"));
|
||||
button_center_view->set_disabled(true);
|
||||
root->add_child(button_center_view);
|
||||
|
|
@ -1080,11 +1100,10 @@ void TileDataDefaultEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas_
|
|||
}
|
||||
p_canvas_item->draw_set_transform_matrix(Transform2D());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
void TileDataDefaultEditor::forward_draw_over_alternatives(TileAtlasView *p_tile_atlas_view, TileSetAtlasSource *p_tile_set_atlas_source, CanvasItem *p_canvas_item, Transform2D p_transform){
|
||||
|
||||
};
|
||||
void TileDataDefaultEditor::forward_draw_over_alternatives(TileAtlasView *p_tile_atlas_view, TileSetAtlasSource *p_tile_set_atlas_source, CanvasItem *p_canvas_item, Transform2D p_transform) {
|
||||
}
|
||||
|
||||
void TileDataDefaultEditor::forward_painting_atlas_gui_input(TileAtlasView *p_tile_atlas_view, TileSetAtlasSource *p_tile_set_atlas_source, const Ref<InputEvent> &p_event) {
|
||||
Ref<InputEventMouseMotion> mm = p_event;
|
||||
|
|
@ -1342,7 +1361,7 @@ void TileDataDefaultEditor::_notification(int p_what) {
|
|||
switch (p_what) {
|
||||
case NOTIFICATION_ENTER_TREE:
|
||||
case NOTIFICATION_THEME_CHANGED: {
|
||||
picker_button->set_icon(get_editor_theme_icon(SNAME("ColorPick")));
|
||||
picker_button->set_button_icon(get_editor_theme_icon(SNAME("ColorPick")));
|
||||
tile_bool_checked = get_editor_theme_icon(SNAME("TileChecked"));
|
||||
tile_bool_unchecked = get_editor_theme_icon(SNAME("TileUnchecked"));
|
||||
} break;
|
||||
|
|
@ -1360,7 +1379,7 @@ TileDataDefaultEditor::TileDataDefaultEditor() {
|
|||
add_child(label);
|
||||
|
||||
picker_button = memnew(Button);
|
||||
picker_button->set_theme_type_variation("FlatButton");
|
||||
picker_button->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
picker_button->set_toggle_mode(true);
|
||||
picker_button->set_shortcut(ED_GET_SHORTCUT("tiles_editor/picker"));
|
||||
toolbar->add_child(picker_button);
|
||||
|
|
@ -1385,10 +1404,8 @@ void TileDataTextureOriginEditor::draw_over_tile(CanvasItem *p_canvas_item, Tran
|
|||
|
||||
TileSetSource *source = *(tile_set->get_source(p_cell.source_id));
|
||||
TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source);
|
||||
if (atlas_source->is_position_in_tile_texture_region(p_cell.get_atlas_coords(), p_cell.alternative_tile, -tile_set_tile_size / 2) && atlas_source->is_position_in_tile_texture_region(p_cell.get_atlas_coords(), p_cell.alternative_tile, tile_set_tile_size / 2 - Vector2(1, 1))) {
|
||||
Transform2D tile_xform;
|
||||
tile_xform.set_scale(tile_set_tile_size);
|
||||
tile_set->draw_tile_shape(p_canvas_item, p_transform * tile_xform, color);
|
||||
if (atlas_source->is_rect_in_tile_texture_region(p_cell.get_atlas_coords(), p_cell.alternative_tile, Rect2(Vector2(-tile_set_tile_size) / 2, tile_set_tile_size))) {
|
||||
tile_set->draw_tile_shape(p_canvas_item, p_transform.scaled_local(tile_set_tile_size), color);
|
||||
}
|
||||
|
||||
if (atlas_source->is_position_in_tile_texture_region(p_cell.get_atlas_coords(), p_cell.alternative_tile, Vector2())) {
|
||||
|
|
@ -1469,30 +1486,36 @@ void TileDataOcclusionShapeEditor::draw_over_tile(CanvasItem *p_canvas_item, Tra
|
|||
debug_occlusion_color.push_back(color);
|
||||
|
||||
RenderingServer::get_singleton()->canvas_item_add_set_transform(p_canvas_item->get_canvas_item(), p_transform);
|
||||
Ref<OccluderPolygon2D> occluder = tile_data->get_occluder(occlusion_layer);
|
||||
if (occluder.is_valid() && occluder->get_polygon().size() >= 3) {
|
||||
p_canvas_item->draw_polygon(Variant(occluder->get_polygon()), debug_occlusion_color);
|
||||
for (int i = 0; i < tile_data->get_occluder_polygons_count(occlusion_layer); i++) {
|
||||
Ref<OccluderPolygon2D> occluder = tile_data->get_occluder_polygon(occlusion_layer, i);
|
||||
if (occluder.is_valid() && occluder->get_polygon().size() >= 3) {
|
||||
p_canvas_item->draw_polygon(Variant(occluder->get_polygon()), debug_occlusion_color);
|
||||
}
|
||||
}
|
||||
RenderingServer::get_singleton()->canvas_item_add_set_transform(p_canvas_item->get_canvas_item(), Transform2D());
|
||||
}
|
||||
|
||||
Variant TileDataOcclusionShapeEditor::_get_painted_value() {
|
||||
Ref<OccluderPolygon2D> occluder_polygon;
|
||||
if (polygon_editor->get_polygon_count() >= 1) {
|
||||
Array polygons;
|
||||
for (int i = 0; i < polygon_editor->get_polygon_count(); i++) {
|
||||
Ref<OccluderPolygon2D> occluder_polygon;
|
||||
occluder_polygon.instantiate();
|
||||
occluder_polygon->set_polygon(polygon_editor->get_polygon(0));
|
||||
occluder_polygon->set_polygon(polygon_editor->get_polygon(i));
|
||||
polygons.push_back(occluder_polygon);
|
||||
}
|
||||
return occluder_polygon;
|
||||
return polygons;
|
||||
}
|
||||
|
||||
void TileDataOcclusionShapeEditor::_set_painted_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) {
|
||||
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(p_coords, p_alternative_tile);
|
||||
ERR_FAIL_NULL(tile_data);
|
||||
|
||||
Ref<OccluderPolygon2D> occluder_polygon = tile_data->get_occluder(occlusion_layer);
|
||||
polygon_editor->clear_polygons();
|
||||
if (occluder_polygon.is_valid()) {
|
||||
polygon_editor->add_polygon(occluder_polygon->get_polygon());
|
||||
for (int i = 0; i < tile_data->get_occluder_polygons_count(occlusion_layer); i++) {
|
||||
Ref<OccluderPolygon2D> occluder_polygon = tile_data->get_occluder_polygon(occlusion_layer, i);
|
||||
if (occluder_polygon.is_valid()) {
|
||||
polygon_editor->add_polygon(occluder_polygon->get_polygon());
|
||||
}
|
||||
}
|
||||
polygon_editor->set_background_tile(p_tile_set_atlas_source, p_coords, p_alternative_tile);
|
||||
}
|
||||
|
|
@ -1500,8 +1523,13 @@ void TileDataOcclusionShapeEditor::_set_painted_value(TileSetAtlasSource *p_tile
|
|||
void TileDataOcclusionShapeEditor::_set_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile, const Variant &p_value) {
|
||||
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(p_coords, p_alternative_tile);
|
||||
ERR_FAIL_NULL(tile_data);
|
||||
Ref<OccluderPolygon2D> occluder_polygon = p_value;
|
||||
tile_data->set_occluder(occlusion_layer, occluder_polygon);
|
||||
|
||||
Array polygons = p_value;
|
||||
tile_data->set_occluder_polygons_count(occlusion_layer, polygons.size());
|
||||
for (int i = 0; i < polygons.size(); i++) {
|
||||
Ref<OccluderPolygon2D> occluder_polygon = polygons[i];
|
||||
tile_data->set_occluder_polygon(occlusion_layer, i, occluder_polygon);
|
||||
}
|
||||
|
||||
polygon_editor->set_background_tile(p_tile_set_atlas_source, p_coords, p_alternative_tile);
|
||||
}
|
||||
|
|
@ -1509,7 +1537,11 @@ void TileDataOcclusionShapeEditor::_set_value(TileSetAtlasSource *p_tile_set_atl
|
|||
Variant TileDataOcclusionShapeEditor::_get_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) {
|
||||
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(p_coords, p_alternative_tile);
|
||||
ERR_FAIL_NULL_V(tile_data, Variant());
|
||||
return tile_data->get_occluder(occlusion_layer);
|
||||
Array polygons;
|
||||
for (int i = 0; i < tile_data->get_occluder_polygons_count(occlusion_layer); i++) {
|
||||
polygons.push_back(tile_data->get_occluder_polygon(occlusion_layer, i));
|
||||
}
|
||||
return polygons;
|
||||
}
|
||||
|
||||
void TileDataOcclusionShapeEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, const HashMap<TileMapCell, Variant, TileMapCell> &p_previous_values, const Variant &p_new_value) {
|
||||
|
|
@ -1535,6 +1567,7 @@ void TileDataOcclusionShapeEditor::_notification(int p_what) {
|
|||
|
||||
TileDataOcclusionShapeEditor::TileDataOcclusionShapeEditor() {
|
||||
polygon_editor = memnew(GenericTilePolygonEditor);
|
||||
polygon_editor->set_multiple_polygon_mode(true);
|
||||
add_child(polygon_editor);
|
||||
}
|
||||
|
||||
|
|
@ -1819,7 +1852,7 @@ void TileDataCollisionEditor::draw_over_tile(CanvasItem *p_canvas_item, Transfor
|
|||
}
|
||||
|
||||
void TileDataTerrainsEditor::_update_terrain_selector() {
|
||||
ERR_FAIL_COND(!tile_set.is_valid());
|
||||
ERR_FAIL_COND(tile_set.is_null());
|
||||
|
||||
// Update the terrain set selector.
|
||||
Vector<String> options;
|
||||
|
|
@ -1872,7 +1905,7 @@ void TileDataTerrainsEditor::_property_value_changed(const StringName &p_propert
|
|||
}
|
||||
|
||||
void TileDataTerrainsEditor::_tile_set_changed() {
|
||||
ERR_FAIL_COND(!tile_set.is_valid());
|
||||
ERR_FAIL_COND(tile_set.is_null());
|
||||
|
||||
// Fix if wrong values are selected.
|
||||
int terrain_set = int(dummy_object->get("terrain_set"));
|
||||
|
|
@ -1890,7 +1923,7 @@ void TileDataTerrainsEditor::_tile_set_changed() {
|
|||
}
|
||||
|
||||
void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas_view, TileSetAtlasSource *p_tile_set_atlas_source, CanvasItem *p_canvas_item, Transform2D p_transform) {
|
||||
ERR_FAIL_COND(!tile_set.is_valid());
|
||||
ERR_FAIL_COND(tile_set.is_null());
|
||||
|
||||
// Draw the hovered terrain bit, or the whole tile if it has the wrong terrain set.
|
||||
Vector2i hovered_coords = TileSetSource::INVALID_ATLAS_COORDS;
|
||||
|
|
@ -2077,7 +2110,7 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
|
|||
}
|
||||
|
||||
void TileDataTerrainsEditor::forward_draw_over_alternatives(TileAtlasView *p_tile_atlas_view, TileSetAtlasSource *p_tile_set_atlas_source, CanvasItem *p_canvas_item, Transform2D p_transform) {
|
||||
ERR_FAIL_COND(!tile_set.is_valid());
|
||||
ERR_FAIL_COND(tile_set.is_null());
|
||||
|
||||
// Draw the hovered terrain bit, or the whole tile if it has the wrong terrain set.
|
||||
Vector2i hovered_coords = TileSetSource::INVALID_ATLAS_COORDS;
|
||||
|
|
@ -2834,7 +2867,7 @@ void TileDataTerrainsEditor::_notification(int p_what) {
|
|||
switch (p_what) {
|
||||
case NOTIFICATION_ENTER_TREE:
|
||||
case NOTIFICATION_THEME_CHANGED: {
|
||||
picker_button->set_icon(get_editor_theme_icon(SNAME("ColorPick")));
|
||||
picker_button->set_button_icon(get_editor_theme_icon(SNAME("ColorPick")));
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
|
@ -2847,7 +2880,7 @@ TileDataTerrainsEditor::TileDataTerrainsEditor() {
|
|||
|
||||
// Toolbar
|
||||
picker_button = memnew(Button);
|
||||
picker_button->set_theme_type_variation("FlatButton");
|
||||
picker_button->set_theme_type_variation(SceneStringName(FlatButton));
|
||||
picker_button->set_toggle_mode(true);
|
||||
picker_button->set_shortcut(ED_GET_SHORTCUT("tiles_editor/picker"));
|
||||
toolbar->add_child(picker_button);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue