UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

39 lines 1.64 kB
import { FlowGraphExecutionBlockWithOutSignal } from "../../flowGraphExecutionBlockWithOutSignal.js"; import { RegisterClass } from "../../../Misc/typeStore.js"; /** * A block that sends a custom event. * To receive this event you need to use the ReceiveCustomEvent block. * This block has no output, but does have inputs based on the eventData from the configuration. * @see FlowGraphReceiveCustomEventBlock */ export class FlowGraphSendCustomEventBlock extends FlowGraphExecutionBlockWithOutSignal { constructor( /** * the configuration of the block */ config) { super(config); this.config = config; for (const key in this.config.eventData) { this.registerDataInput(key, this.config.eventData[key].type, this.config.eventData[key].value); } } _execute(context) { const eventId = this.config.eventId; // eventData is a map with the key being the data input's name, and value being the data input's value const eventData = {}; for (const port of this.dataInputs) { eventData[port.name] = port.getValue(context); } context.configuration.coordinator.notifyCustomEvent(eventId, eventData); this.out._activateSignal(context); } /** * @returns class name of the block. */ getClassName() { return "FlowGraphReceiveCustomEventBlock" /* FlowGraphBlockNames.ReceiveCustomEvent */; } } RegisterClass("FlowGraphReceiveCustomEventBlock" /* FlowGraphBlockNames.ReceiveCustomEvent */, FlowGraphSendCustomEventBlock); //# sourceMappingURL=flowGraphSendCustomEventBlock.js.map