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.

35 lines 1.58 kB
import { FlowGraphBlock } from "../../../flowGraphBlock.js"; import { RichTypeAny, RichTypeString } from "../../../flowGraphRichTypes.js"; import { RegisterClass } from "../../../../Misc/typeStore.js"; /** * A flow graph block that takes a function name, an object and an optional context as inputs and calls the function on the object. */ export class FlowGraphFunctionReferenceBlock extends FlowGraphBlock { constructor( /** * the configuration of the block */ config) { super(config); this.functionName = this.registerDataInput("functionName", RichTypeString); this.object = this.registerDataInput("object", RichTypeAny); this.context = this.registerDataInput("context", RichTypeAny, null); this.output = this.registerDataOutput("output", RichTypeAny); } _updateOutputs(context) { const functionName = this.functionName.getValue(context); const object = this.object.getValue(context); const contextValue = this.context.getValue(context); if (object && functionName) { const func = object[functionName]; if (func && typeof func === "function") { this.output.setValue(func.bind(contextValue), context); } } } getClassName() { return "FlowGraphFunctionReference" /* FlowGraphBlockNames.FunctionReference */; } } RegisterClass("FlowGraphFunctionReference" /* FlowGraphBlockNames.FunctionReference */, FlowGraphFunctionReferenceBlock); //# sourceMappingURL=flowGraphFunctionReferenceBlock.js.map