Class

RezSystem

RezSystem()

Constructor

# new RezSystem()

Represents a game system in the Rez game engine. Systems are used to implement cross-cutting game mechanics that operate on events and game state. Systems have priority and enabled/disabled states, and may define handlers on two parallel paths:

Event path (originating browser events)

before_event(system, evt) and after_event(system, evt, result) are called by the RezEventProcessor around the handling of the six originating events (click, input, submit, timer, key_binding, window_event). These may modify the event and the result (they are threaded/reduced across systems in priority order).

Lifecycle path (game-level transitions)

before_lifecycle_event(system, eventName, params) and after_lifecycle_event(system, eventName, params, result) are called by RezGame.broadcastLifecycle around the game's lifecycle broadcasts, letting a system observe scene/card transitions and renders that never flow through the event processor. before_lifecycle_event runs before the game's own on_<eventName> handler; after_lifecycle_event runs after it, receiving that handler's return value as result.

This path is observe-only: return values are not threaded back into dispatch (handlers may still mutate the shared params object). The lifecycle events delivered are: scene_will_start, scene_did_end, scene_will_pause, scene_did_resume, card_will_start, card_did_start, card_did_finish, will_render, did_render, and game_did_start. (game_will_start reaches systems via the per-object broadcast instead.)

A system must define at least one of these four handlers.

View Source rez_system.js, line 5

Extends

Methods

# static constructor(id, attributes)

Creates a new game system instance

Parameters:
Name Type Description
id string

unique identifier for this system

attributes object

system attributes from Rez compilation including priority and handlers

View Source rez_system.js, line 36