UNPKG

@polygonjs/polygonjs

Version:

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

36 lines (32 loc) 1.09 kB
import {ClonedStatesController} from './inputs/ClonedStatesController'; import {InputCloneMode} from '../../../../engine/poly/InputCloneMode'; import {BaseOperationContainer} from '../_Base'; import {NodeContext} from '../../../poly/NodeContext'; export class OperationInputsController<NC extends NodeContext> { constructor(private operationContainer: BaseOperationContainer<NC>) {} inputsCount() { return this.operationContainer.inputsCount(); } // // // CLONABLE STATES // // private _clonedStatesController: ClonedStatesController<NC> | undefined; initInputsClonedState(states: InputCloneMode | InputCloneMode[]) { if (!this._clonedStatesController) { this._clonedStatesController = new ClonedStatesController(this); this._clonedStatesController.initInputsClonedState(states); } } cloneRequired(index: number) { const state = this._clonedStatesController?.clone_required_state(index); if (state != null) { return state; } return true; } override_cloned_state(state: boolean) { this._clonedStatesController?.override_cloned_state(state); } }