Cards
Every screen *First Light: The Three Fires* puts BETWEEN the player and the temple: the title, the how-to-play handbill, the pause card, and the three end cards — one per verdict.
Cards
Every screen First Light: The Three Fires puts BETWEEN the player and the temple: the title, the how-to-play handbill, the pause card, and the three end cards — one per verdict.
local Cards = require("game.ui.Cards")
Cards.ids.title --> { "start", "howto" }
Cards.title(m, { focus = "start" })
Each builder is pure: it takes the live metrics from game.ui.flui and a view
model, and returns a widget tree. It registers nothing, shows nothing and
decides nothing — game.ui.Screens gathers the state, picks the card and hands
it here.
| Builder | Rows (Cards.ids) |
|---|---|
Cards.title | start, howto |
Cards.howto | closeHowto |
Cards.pause | resume, restart, howto, title |
Cards.ended | restart, title |
A row's id is both its onClick callback and the id game.ui.Focus walks,
so a mouse, a finger and a pad all end at the same place.
Cards.ended reads view.result — triunity, grey or lost — and changes
its accent, its ornament and its words with it: a warm sunrise over the ridge
for the true dawn, a cold one for the grey, and three cold flames for the night
that kept the temple.
Scoped to this part · feeds back into the world's score.