Events

Grassworks exposes nine public events. Each event has its own stable anchor and payload description.

js
const callback = (payload) => console.log(payload);
grassworks.on("ready", callback);
grassworks.off("ready", callback);

on

js
on(event, callback)

Subscribes to a public Grassworks event.

Parameters

  • event — string; public event name.
  • callback — function; called with the event payload.

Behavior

The event name must be a string and the callback must be a function. The same callback is stored once per event.

Returns

this — the Grassworks instance for chaining.

Example

js
grassworks.on("ready", (instance) => {
  console.log(instance);
});

off

js
off(event, callback)

Removes one event callback, or all callbacks for an event when callback is omitted.

Parameters

  • event — string; public event name.
  • callback — function; optional callback to remove.

Behavior

If callback is omitted, all callbacks for the named event are removed.

Returns

this — the Grassworks instance for chaining.

Example

js
const callback = (payload) => console.log(payload);
grassworks.on("ready", callback);
grassworks.off("ready", callback);

ready event

js
"ready"

Grassworks initialization has completed.

Behavior

Initialization completes before the event is emitted; subscribing after readiness invokes the callback immediately.

Returns

void.

Example

js
grassworks.on("ready", (instance) => {
  console.log(instance);
});

grassmapchange event

js
"grassmapchange"

The grass-map state changes through Grassworks-supported grass-map workflows.

Returns

void.

Example

js
grassworks.on("grassmapchange", (payload) => { ... });

tileupdate event

js
"tileupdate"

A tile has been repositioned/updated during tile management.

Returns

void.

Example

js
grassworks.on("tileupdate", (payload) => { ... });

terrainrefresh event

js
"terrainrefresh"

Terrain re-capture has completed.

Returns

void.

Example

js
grassworks.on("terrainrefresh", (payload) => { ... });

rebuild event

js
"rebuild"

The grass tile grid has been rebuilt.

Returns

void.

Example

js
grassworks.on("rebuild", (instance) => { ... });

lodchange event

js
"lodchange"

An LOD configuration change has been applied.

Behavior

The payload shape depends on whether one LOD or a full LOD configuration was changed.

Returns

void.

Example

js
grassworks.on("lodchange", (payload) => { ... });

grasstypechange event

js
"grasstypechange"

The grass representation changes between Blade and Billboard.

Returns

void.

Example

js
grassworks.on("grasstypechange", (payload) => { ... });

presetchange event

js
"presetchange"

A named Blade preset changes.

Returns

void.

Example

js
grassworks.on("presetchange", (payload) => { ... });

dispose event

js
"dispose"

The system is beginning disposal.

Returns

void.

Example

js
grassworks.on("dispose", (instance) => { ... });