Một lưới ô hình chữ nhật, kích thước cố định, để sinh và sửa bản đồ trước khi đưa vào njin::tilemap. Tiếp...
#include <njin_procgen.h>
Các hàm thành viên Public | |
| bool | inside (i32 x, i32 y) const |
| Ô có nằm trong lưới không. | |
| i32 | get (i32 x, i32 y) const |
| Giá trị một ô. | |
| void | set (i32 x, i32 y, i32 tile) |
| Đặt một ô; ngoài lưới thì bỏ qua. | |
Các thuộc tính Public | |
| i32 | width = 0 |
| Số cột. | |
| i32 | height = 0 |
| Số hàng. | |
| std::vector< i32 > | cells {} |
| Các ô theo hàng, từ trên xuống. cells[y * width + x]. | |
Một lưới ô hình chữ nhật, kích thước cố định, để sinh và sửa bản đồ trước khi đưa vào njin::tilemap.
Mỗi ô giữ số thứ tự ô trong tileset, hoặc -1 là trống.
Các bộ sinh (generate_topdown(), generate_platformer(), wfc_generate()) và các luật (grid_majority(), grid_border()...) đều làm việc trên lưới này; xong thì tilemap_from_grid() đặt nó vào tilemap. Lưới chỉ là dữ liệu: không cần cửa sổ, không cần njin::context, nên sinh được ở bất kỳ đâu, kể cả trước khi mở cửa sổ.
Ô có nằm trong lưới không.
| x | Cột. |
| y | Hàng. |
Giá trị một ô.
| x | Cột. |
| y | Hàng. |