@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
27 lines (26 loc) • 1.03 kB
JavaScript
;
import { PolyNodeParamsConfig } from "../../../utils/poly/PolyNodeParamsConfig";
import { PolyNodeController } from "../../../utils/poly/PolyNodeController";
import { BaseSubnetAnimNode } from "../../Subnet";
import { NodeContext } from "../../../../poly/NodeContext";
import { ModuleName } from "../../../../poly/registers/modules/Common";
function createPolyAnimNode(nodeType, definition, polyNodeControllerClass) {
const ParamsConfig = PolyNodeParamsConfig.ParamsConfig(definition);
class BasePolyAnimNode extends BaseSubnetAnimNode {
constructor() {
super(...arguments);
this.paramsConfig = ParamsConfig;
this.polyNodeController = new polyNodeControllerClass(this, definition);
}
static type() {
return nodeType;
}
requiredModules() {
return [ModuleName.POLY_ANIM];
}
}
return BasePolyAnimNode;
}
export function onPolyAnimModuleRegister(poly) {
PolyNodeController.registerCreatePolyNodeFunctionForContext(NodeContext.ANIM, createPolyAnimNode);
}