refactor(game-scene): extreu helpers de renderRoomText i elimina el NOLINT

This commit is contained in:
JailDesigner committed 2026-04-26 18:44:49 +02:00
1 parent 8243e95ef1
commit 99eb42b319
2 files changed
+142 -130

No files matched your search

+12
View File
@@ -196,6 +196,18 @@ class GameScene : public Scene {
void renderRoomFade();
void renderRoomText();
// Helpers de `renderRoomText`. Tots consulten `transition_` i
// `transition_config_` directament a través de `this` — així les
// signatures es queden netes i la funció pública s'orquestra amb
// poques línies. Tres tasques separades:
// - X animada d'una línia (entra per un costat, surt per l'altre).
// - Altura animada del panel translúcid (creix, manté, decreix).
// - Pintat efectiu del panel i d'una línia de text.
[[nodiscard]] auto computeRoomTextX(int width, int phase_enter, int phase_exit, int dur_enter, int dur_exit, bool from_right) const -> int;
[[nodiscard]] auto computeRoomTextPanelHeight(int phase_enter, int phase_hold, int phase_exit, int dur_enter, int dur_exit) const -> int;
void drawRoomTextPanel(int center_y, int panel_height) const;
void drawRoomTextLine(const std::string& text, int x, int y, std::uint8_t fill_color, std::uint8_t outline_color) const;
// Posició inicial dels jugadors derivada de `Map::door_col`. Tots
// els jugadors comparteixen Y (centre del corredor exterior superior);
// X depèn del nombre actiu: amb un jugador queda centrat sota la