feat(editor): franja HUD amb mode, brush/sel, cursor i recompte de constraints

This commit is contained in:
JailDesigner committed 2026-05-02 11:41:25 +02:00
1 parent 10e16d7905
commit 2a78c78e77
2 files changed
+94

No files matched your search

+13
View File
@@ -10,6 +10,7 @@
class Entity;
class EntityManager;
class Surface;
class Text;
class Tilemap;
// Mode editor modal del GameScene. Només disponible en Debug — en Release
@@ -117,6 +118,13 @@ class Editor {
// Render del marc d'una entitat: 1 px sobre el seu pixel_rect.
static void renderEntityFrame(const Entity& e, std::uint32_t argb);
// HUD d'edició: franja superior amb mode, brush, cursor i comptadors
// de constraints. Substitueix el HUD del joc mentre l'editor és actiu.
void renderEditorHud(const EntityManager& entities) const;
// Carrega la font 8bithud del cache. Lazy: al primer enter().
void ensureHudFont();
void renderTilePicker(const Tilemap& tilemap) const;
void renderEntityPicker(const Tilemap& tilemap) const;
@@ -159,6 +167,11 @@ class Editor {
std::vector<EditableEntity> editable_entities_;
// Font compartida amb el Notifier/HUD: el surface el carrega Director
// a l'arrencada, ací només prenem la referència del cache. shared_ptr
// perquè `Text` accepta el surface per shared_ptr i així no copiem.
std::shared_ptr<Text> hud_font_;
// Selecció en Mode::HAND. Treballem amb índexs sobre el snapshot de
// `EntityManager::getEntities()` perquè és el que ens dóna l'API
// pública. Després de cada mutació (move/delete) ho recalculem; com