refactor(anim): direccions cardinals (north/south/east) en YAML i codi

This commit is contained in:
JailDesigner committed 2026-04-29 08:59:01 +02:00
1 parent 1d43a77800
commit 9dc7ff0da3
9 files changed
+189 -240

No files matched your search

+11 -9
View File
@@ -430,13 +430,15 @@ class Player : public AnimatedSprite {
// Direcció "cap on mira" el jugador. Governa quin conjunt d'animacions
// s'aplica (lateral, amunt, avall) i si el sprite es flipeja o no. Els
// moviments purament horitzontals o diagonals prenen `SIDE` (prevalença
// lateral), els purament verticals fan `UP`/`DOWN`. En aturar-se es
// preserva l'última orientació perquè la versió stand coincideixi.
enum class Facing : std::uint8_t { SIDE,
UP,
DOWN };
Facing facing_{Facing::SIDE};
// moviments purament horitzontals o diagonals prenen `EAST` (prevalença
// lateral; el flip horitzontal converteix l'animació EAST en la
// simètrica oest), els purament verticals fan `NORTH`/`SOUTH`. En
// aturar-se es preserva l'última orientació perquè la versió stand
// coincideixi.
enum class Facing : std::uint8_t { EAST,
NORTH,
SOUTH };
Facing facing_{Facing::EAST};
// Cardinal complet (N/S/E/W) usat per a la detecció de girs de 180°.
// El parell (Facing, flip) només té 3+1 estats; aquesta enum n'afegeix
@@ -553,8 +555,8 @@ class Player : public AnimatedSprite {
void enterAttacking(Cardinal facing);
// Cardinal que correspon al `(facing_, flip_)` actual del sprite —
// la direcció cap on mira el jugador. Si `facing_ == SIDE` el
// resultat depèn del flip; UP/DOWN són trivials. Mai retorna NONE.
// la direcció cap on mira el jugador. Si `facing_ == EAST` el
// resultat depèn del flip; NORTH/SOUTH són trivials. Mai retorna NONE.
[[nodiscard]] auto currentFacingCardinal() const -> Cardinal;
// Activa l'estat HURT: el jugador queda projectat amb velocitat