Skip to content

@vaguevoid/fiasco / ecs/events / EventWriter

Class: EventWriter<Ev, EventT, SendEvent>

Defined in: src/ecs/events.ts:90

Send an Event to all systems that are listening for the Event with a matching EventReader.

Supports custom defined events that extend from Event - or flatbuffer events.

ts
import { EventWriter, Event } from '@vaguevoid/fiasco'

export class MyEvent extends Event {
  fluffy!: boolean
}

function system(writer: EventWriter<Animal>) {
  const myEvent = new MyEvent()
  myEvent.fluffy = true
  writer.send(myEvent) // send this event every frame
}

Type Parameters

Ev

Ev extends Event | flatbuffers.IUnpackableObject<any>

EventT

EventT extends flatbuffers.IGeneratedObject = Ev extends flatbuffers.IUnpackableObject<infer K> ? K : flatbuffers.IGeneratedObject

SendEvent

SendEvent = Ev extends Event ? Ev : EventT

Properties

ptr

ptr: object

Defined in: src/ecs/events.ts:97

[___brand]

[___brand]: typeof FiascoPointerBrand

Methods

send()

send(event): void

Defined in: src/ecs/events.ts:106

Parameters

event

SendEvent

Returns

void