@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
35 lines (34 loc) • 922 B
JavaScript
;
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`);
}
}
}