mirror of
https://github.com/godotengine/godot
synced 2024-09-06 05:34:00 +00:00
Fix tile polygon grid not covering whole tile
This commit is contained in:
parent
40b4130c93
commit
e70ca3bf5a
|
@ -144,7 +144,8 @@ void GenericTilePolygonEditor::_base_control_draw() {
|
|||
}
|
||||
|
||||
// Draw tile-related things.
|
||||
Size2 tile_size = tile_set->get_tile_size();
|
||||
const Size2 base_tile_size = tile_set->get_tile_size();
|
||||
const Size2 tile_size = background_region.size;
|
||||
|
||||
Transform2D xform;
|
||||
xform.set_origin(base_control->get_size() / 2 + panning);
|
||||
|
@ -170,12 +171,16 @@ void GenericTilePolygonEditor::_base_control_draw() {
|
|||
|
||||
// Draw grid.
|
||||
if (current_snap_option == SNAP_GRID) {
|
||||
Vector2 spacing = tile_size / snap_subdivision->get_value();
|
||||
Vector2 spacing = base_tile_size / snap_subdivision->get_value();
|
||||
Vector2 offset = -tile_size / 2;
|
||||
int w = snap_subdivision->get_value() * (tile_size / base_tile_size).x;
|
||||
int h = snap_subdivision->get_value() * (tile_size / base_tile_size).y;
|
||||
|
||||
for (int i = 1; i < snap_subdivision->get_value(); i++) {
|
||||
base_control->draw_line(Vector2(spacing.x * i, 0) + offset, Vector2(spacing.x * i, tile_size.y) + offset, Color(1, 1, 1, 0.33));
|
||||
base_control->draw_line(Vector2(0, spacing.y * i) + offset, Vector2(tile_size.x, spacing.y * i) + offset, Color(1, 1, 1, 0.33));
|
||||
for (int y = 1; y < h; y++) {
|
||||
for (int x = 1; x < w; x++) {
|
||||
base_control->draw_line(Vector2(spacing.x * x, 0) + offset, Vector2(spacing.x * x, tile_size.y) + offset, Color(1, 1, 1, 0.33));
|
||||
base_control->draw_line(Vector2(0, spacing.y * y) + offset, Vector2(tile_size.x, spacing.y * y) + offset, Color(1, 1, 1, 0.33));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue