UNPKG

@polygonjs/polygonjs

Version:

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

33 lines (32 loc) 948 B
"use strict"; import { TypedAnimNode } from "./_Base"; import { TimelineBuilder } from "../../../core/animation/TimelineBuilder"; import { NodeParamsConfig, ParamConfig } from "../utils/params/ParamsConfig"; class DurationAnimParamsConfig extends NodeParamsConfig { constructor() { super(...arguments); /** @param duration */ this.duration = ParamConfig.FLOAT(1, { range: [0, 10], rangeLocked: [true, false] }); } } const ParamsConfig = new DurationAnimParamsConfig(); export class DurationAnimNode extends TypedAnimNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return "duration"; } initializeNode() { this.io.inputs.setCount(0, 1); } cook(input_contents) { const timeline_builder = input_contents[0] || new TimelineBuilder(); timeline_builder.setDuration(this.pv.duration); this.setTimelineBuilder(timeline_builder); } }