feat(game): CONTINUE? + GAME OVER + fade-to-LOGO (Fase 2)
Sub-FSM nova `GameOverFsm` (CONTINUE_PROMPT → GAME_OVER → FADE_OUT → DONE) que viu en paral·lel a la `RoomFsm`. Es dispara quan tots els jugadors queden DISABLED durant PLAYING, mostra el rètol "Continuar?" amb countdown reusant el panel del room text, i si ningú pulsa START acaba en "Fi del Joc" + fade negre i sol·licita la transició a LOGO. Pulsar START durant CONTINUE? cancel·la el countdown i fa join (revive) del jugador. Després de GAME OVER, el HUD passa a "ESPERA / PER JUGAR" i el START queda bloquejat fins a la transició d'escena. Els helpers d'animació del room text (X i altura del panel) ara reben phase + elapsed_ms per paràmetre per poder ser reaprofitats per les dues sub-FSMs sense duplicar la lògica visual. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
c13b11c501
commit
78e164fce4
8 files changed
+562
-43
No files matched your search
@@ -60,6 +60,12 @@ game:
|
||||
room_intro_room: "Sala {r}"
|
||||
room_complete_line1: "Fase"
|
||||
room_complete_line2: "Completada"
|
||||
# Rètol del game over (sub-FSM de la GameScene). El countdown es
|
||||
# pinta com a segona línia (un enter) durant la fase 1 de
|
||||
# CONTINUE_PROMPT — només cal traduir el rètol superior.
|
||||
continue_prompt: "Continuar?"
|
||||
game_over_line1: "Fi del"
|
||||
game_over_line2: "Joc"
|
||||
|
||||
menu:
|
||||
titles:
|
||||
|
||||
@@ -59,6 +59,12 @@ game:
|
||||
room_intro_room: "Room {r}"
|
||||
room_complete_line1: "Stage"
|
||||
room_complete_line2: "Complete"
|
||||
# Game over labels (sub-FSM in GameScene). The countdown is drawn as
|
||||
# a numeric second line during CONTINUE_PROMPT phase 1, so only the
|
||||
# top label needs translation.
|
||||
continue_prompt: "Continue?"
|
||||
game_over_line1: "Game"
|
||||
game_over_line2: "Over"
|
||||
|
||||
menu:
|
||||
titles:
|
||||
|
||||
@@ -46,3 +46,25 @@ text_panel:
|
||||
color: [36, 182, 170]
|
||||
alpha: 128
|
||||
height_px: 32
|
||||
|
||||
# Sub-FSM de game over: dispara CONTINUE? quan tots els jugadors
|
||||
# queden fora de partida durant PLAYING, fa countdown, i si ningú
|
||||
# pulsa START acaba en GAME OVER + fade-to-black + transició a LOGO.
|
||||
# Tots els valors són ms (excepte `continue_count_steps`, que és el
|
||||
# nombre de tics visibles del countdown). Si manca el fitxer o alguna
|
||||
# clau, GameScene cau als fallbacks compilats (vegeu `GameOverFsm::Config`).
|
||||
game_over:
|
||||
# CONTINUE? — animació d'entrada i sortida idèntica al room text.
|
||||
continue_text_enter_ms: 400
|
||||
continue_text_hold_ms: 5000 # 5 s = `continue_count_steps` graons d'1 s
|
||||
continue_text_exit_ms: 400
|
||||
continue_count_steps: 5
|
||||
# GAME OVER — apareix sense enter anim (panel ja amunt del CONTINUE?),
|
||||
# es manté un temps i marxa amb la mateixa exit anim del room text.
|
||||
game_over_text_hold_ms: 1500
|
||||
game_over_text_exit_ms: 400
|
||||
game_over_wait_ms: 400
|
||||
# Fade final cap a LOGO. `black_hold_ms` és la pausa en negre opac
|
||||
# abans que el GameScene demani la transició d'escena.
|
||||
fade_out_ms: 500
|
||||
black_hold_ms: 500
|
||||
Reference in new issue
Block a user