Nạp lại texture và shader khi file đổi, lúc game đang chạy. Tiếp...
Classes | |
| struct | njin::asset_reloaded |
| Một tài nguyên vừa được nạp lại, gửi qua events() sau lần nạp lại. Tiếp... | |
Các hàm | |
| void | njin::hot_reload_enable (context &ctx, bool on, f32 interval=0.25f) |
| Bật hoặc tắt hot reload: sửa file ảnh, shader hoặc script Lua khi game đang chạy, lưu lại, và game dùng ngay bản mới, không cần khởi động lại. | |
| bool | njin::hot_reload_enabled (const context &ctx) |
| Hot reload có đang bật không. | |
| i32 | njin::hot_reload_now (context &ctx) |
| Kiểm tra ngay mọi file và nạp lại những file đã đổi, không đợi. | |
Nạp lại texture và shader khi file đổi, lúc game đang chạy.
| void njin::hot_reload_enable | ( | context & | ctx, |
| bool | on, | ||
| f32 | interval = 0.25f ) |
Bật hoặc tắt hot reload: sửa file ảnh, shader hoặc script Lua khi game đang chạy, lưu lại, và game dùng ngay bản mới, không cần khởi động lại.
Khi bật, engine kiểm tra thời gian sửa của mọi file texture, shader và script đã nạp, vài lần mỗi giây. File đổi được nạp lại vào đúng handle cũ, nên sprite, tilemap, shader post đang dùng nó đổi theo ngay. Script gắn trên entity thì được thay hàm mà giữ nguyên dữ liệu của self (xem script_attach()). File vừa đổi được nạp lại ở lần kiểm tra sau, khi nó đã thôi đổi, để không đọc nhầm một file editor đang ghi dở.
Shader lỗi biên dịch thì giữ bản cũ và ghi lỗi của trình biên dịch vào log, nên sửa shader sai không làm game hỏng; sửa đúng thì bản mới vào ngay.
Mặc định tắt: kiểm tra file tốn một chút thời gian mỗi lần, và game đã phát hành không cần. Thường bật trong bản debug:
| ctx | Context của engine. |
| on | Bật hay tắt. |
| interval | Khoảng giữa hai lần kiểm tra, giây thật. |
| bool njin::hot_reload_enabled | ( | const context & | ctx | ) |
Hot reload có đang bật không.
| ctx | Context của engine. |
| i32 njin::hot_reload_now | ( | context & | ctx | ) |
Kiểm tra ngay mọi file và nạp lại những file đã đổi, không đợi.
Chạy được cả khi hot reload đang tắt, ví dụ gắn vào phím F5.
| ctx | Context của engine. |