Home
/
Packages
/
@hatch:game
@hatch:game
v0.2.11
Game framework for Wren. Game.run(MyGame) and you're rendering — subclass Game, override setup / update / draw, get a window + GPU device + per-frame loop wired in. Composes with @hatch:ecs / @hatch:assets / @hatch:audio / @hatch:physics for the rest of a game. Same source drives a winit window on native and a page-attached canvas on web.
$
hatch add @hatch:game
copy
MOD
game
NEW
Input.new_()
GET
Input.beginFrame_
GET
Input.mouseX → Num
GET
Input.mouseY → Num
FN
Input.applyEvent_(e)
FN
Input.static normalizeKey_(s)
FN
Input.isDown(key: String) → Bool
FN
Input.justPressed(key: String) → Bool
FN
Input.justReleased(key: String) → Bool
FN
Input.mouseDown(button: String) → Bool
FN
Input.mouseJustPressed(button: String) → Bool
FN
Input.mouseJustReleased(button: String) → Bool
CL
Viewport
NEW
Viewport.new_(w, h)
GET
Viewport.width → Num
GET
Viewport.height → Num
GET
Viewport.aspect → Num
GET
Viewport.toString
CL
GameState
NEW
GameState.new_(window, device, surfaceFormat)
GET
GameState.input → Input
GET
GameState.depthFormat → String
SET
GameState.depthFormat=(v)
GET
GameState.depthView
SET
GameState.depthView=(v)
GET
GameState.window
GET
GameState.device
GET
GameState.surface
SET
GameState.surface=(s)
GET
GameState.surfaceFormat → String
GET
GameState.pass
SET
GameState.pass=(p)
GET
GameState.events → List
SET
GameState.events=(e)
GET
GameState.dt → Num
SET
GameState.dt=(v)
GET
GameState.elapsed → Num
SET
GameState.elapsed=(v)
GET
GameState.tick → Num
SET
GameState.tick=(v)
GET
GameState.width → Num
GET
GameState.height → Num
GET
GameState.viewport → Viewport
GET
GameState.lastTime_
SET
GameState.lastTime_=(v)
GET
GameState.startTime_
SET
GameState.startTime_=(v)
GET
GameState.requestQuit
GET
GameState.quitRequested → Bool
FN
GameState.setViewport_(w, h)
FN
GameState.set(key: String, value: Object)
FN
GameState.get(key: String) → Object
FN
GameState.has(key: String) → Bool
CL
Game
NEW
Game.new()
GET
Game.config → Map
FN
Game.setup(g: GameState)
FN
Game.update(g: GameState)
FN
Game.draw(g: GameState)
FN
Game.resize(g: GameState, width: Num, height: Num)
FN
Game.static DEFAULTS_
FN
Game.static drainEvents_(events, g)
FN
Game.static run(klass: Class)