feat(editor): TilePicker amb scroll vertical i selecció per clic

This commit is contained in:
JailDesigner committed 2026-04-23 12:18:22 +02:00
1 parent 05cdcfa660
commit f30bb1fb0f
3 files changed
+183 -29

No files matched your search

+10 -1
View File
@@ -42,15 +42,24 @@ class Editor {
void render(const Tilemap& tilemap) const;
private:
// Les branques d'update / render segons el mode (picker obert o
// pintura al mapa) queden separades per claredat; no formen part
// de l'API pública perquè només té sentit cridar-les des d'`update`.
void updateMap(Tilemap& tilemap, int canvas_x, int canvas_y);
void updatePicker(const Tilemap& tilemap, int canvas_x, int canvas_y);
void renderPicker(const Tilemap& tilemap) const;
bool active_{false};
// Estat de l'edició (brush + cursor + picker). Es poblen al pas
// següent; els declarem ara perquè `update()` pugui mutar-los i les
// signatures queden estables entre hitos.
int brush_{-1}; // Índex de tile al tileset; -1 = sense brush.
int cursor_col_{-1}; // Cel·la sota el cursor (-1 = fora).
int cursor_col_{-1}; // Cel·la del mapa sota el cursor (-1 = fora).
int cursor_row_{-1};
bool picker_open_{false};
int picker_scroll_{0}; // Fila superior visible del picker (linealitzat).
int picker_hover_{-1}; // Índex del tile sota el cursor dins del picker.
};
#endif // _DEBUG