소스 검색

Fixed tile_set_editor_plugin.cpp selection issue.

Fixed issue where using arrows to change the selected tile would not reach all subtiles in an autotile, only going up to the second to last row and column.
kurinoku 5 년 전
부모
커밋
94d9b7f7e2
1개의 변경된 파일3개의 추가작업 그리고 4개의 파일을 삭제
  1. 3 4
      editor/plugins/tile_set_editor_plugin.cpp

+ 3 - 4
editor/plugins/tile_set_editor_plugin.cpp

@@ -2133,7 +2133,6 @@ void TileSetEditor::_select_previous_tile() {
 				int spacing = tileset->autotile_get_spacing(get_current_tile());
 				Vector2 size = tileset->tile_get_region(get_current_tile()).size;
 				Vector2 cell_count = (size / (tileset->autotile_get_size(get_current_tile()) + Vector2(spacing, spacing))).floor();
-				cell_count -= Vector2(1, 1);
 				edited_shape_coord = cell_count;
 				_select_edited_shape_coord();
 			} break;
@@ -2190,11 +2189,11 @@ void TileSetEditor::_select_next_subtile() {
 		int spacing = tileset->autotile_get_spacing(get_current_tile());
 		Vector2 size = tileset->tile_get_region(get_current_tile()).size;
 		Vector2 cell_count = (size / (tileset->autotile_get_size(get_current_tile()) + Vector2(spacing, spacing))).floor();
-		if (edited_shape_coord.x >= cell_count.x - 1 && edited_shape_coord.y >= cell_count.y - 1) {
+		if (edited_shape_coord.x > cell_count.x - 1 && edited_shape_coord.y > cell_count.y - 1) {
 			_select_next_tile();
 		} else {
 			edited_shape_coord.x++;
-			if (edited_shape_coord.x >= cell_count.x) {
+			if (edited_shape_coord.x > cell_count.x) {
 				edited_shape_coord.x = 0;
 				edited_shape_coord.y++;
 			}
@@ -2221,7 +2220,7 @@ void TileSetEditor::_select_previous_subtile() {
 		} else {
 			edited_shape_coord.x--;
 			if (edited_shape_coord.x == -1) {
-				edited_shape_coord.x = cell_count.x - 1;
+				edited_shape_coord.x = cell_count.x;
 				edited_shape_coord.y--;
 			}
 			_select_edited_shape_coord();