UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

35 lines (34 loc) 922 B
"use strict"; import { TypedAnimNode } from "./_Base"; import { NodeParamsConfig, ParamConfig } from "../utils/params/ParamsConfig"; class SwitchAnimParamsConfig extends NodeParamsConfig { constructor() { super(...arguments); /** @param input to process */ this.input = ParamConfig.INTEGER(0, { range: [0, 3], rangeLocked: [true, true] }); } } const ParamsConfig = new SwitchAnimParamsConfig(); export class SwitchAnimNode extends TypedAnimNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return "switch"; } initializeNode() { this.io.inputs.setCount(0, 4); } cook(input_contents) { const timeline_builder = input_contents[this.pv.input]; if (timeline_builder) { this.setTimelineBuilder(timeline_builder); } else { this.states.error.set(`input ${this.pv.input} is not valid`); } } }