Files
pncdsl/domain/game.go
2026-05-25 20:49:41 +02:00

46 lines
1.1 KiB
Go

package domain
import p "pncdsl/pncdsl"
// Build assembles the full Reggeli Kávé game by registering every entity
// into its matching manager on a fresh *Game. The order matters only for
// readability — Validate() runs after Build to cross-check references.
func Build() *p.Game {
g := p.NewGame("Reggeli Kávé", 320, 200)
registerAssets(g)
definePlayer(g)
defineCat(g)
defineKey(g)
defineBeans(g)
defineMug(g)
defineCatMorning(g)
defineIntroScript(g)
defineVictoryScript(g)
defineBedroom(g)
defineKitchen(g)
// Story-rich HUD: top bar + character panels + chat log + permanent
// verb wheel + small inventory. Swap for p.RegisterDefaultUI(g) to
// get the simpler SCUMM-style layout, or p.RegisterRadialVerbUI(g)
// for a verb-coin (right-click) layout.
p.RegisterRichUI(g, "player", "cat")
g.MaxLogLines = 64
// initial HUD vars
g.State.SetVar("score", 0)
g.State.SetVar("time", "Nap 1 - 07:23")
g.State.SetVar("player.state", "Ébren")
g.State.SetVar("player.mood", "Álmos")
g.State.SetVar("cat.state", "Várakozik")
g.State.SetVar("cat.mood", "Türelmetlen")
g.StartAt("bedroom").OnStart(p.RunScript("intro"))
return g
}