@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
3 lines (2 loc) • 1.69 kB
JavaScript
import{b as t}from"./KHR_interactivity-CKt1TdMW.esm.min.js";import{R as i}from"./index-Bw2N6w1y.esm.min.js";import{k as e,b as n}from"./declarationMapper-13w1YGqM.esm.min.js";import"./objectModelMapping-DX92iJ8M.esm.min.js";class s extends t{constructor(t){super(t),this.config=t,this.inFlows=[],this._cachedActivationState=[],this.reset=this._registerSignalInput("reset"),this.completed=this._registerSignalOutput("completed"),this.remainingInputs=this.registerDataOutput("remainingInputs",e,new n(this.config.inputSignalCount||0));for(let t=0;t<this.config.inputSignalCount;t++)this.inFlows.push(this._registerSignalInput(`in_${t}`));this._unregisterSignalInput("in")}_getCurrentActivationState(t){const i=this._cachedActivationState;if(i.length=0,t._hasExecutionVariable(this,"activationState")){const e=t._getExecutionVariable(this,"activationState",[]);for(let t=0;t<e.length;t++)i.push(e[t])}else for(let t=0;t<this.config.inputSignalCount;t++)i.push(!1);return i}_execute(t,i){const e=this._getCurrentActivationState(t);if(i===this.reset)for(let t=0;t<this.config.inputSignalCount;t++)e[t]=!1;else{const t=this.inFlows.indexOf(i);t>=0&&(e[t]=!0)}if(this.remainingInputs.setValue(new n(e.filter((t=>!t)).length),t),t._setExecutionVariable(this,"activationState",e.slice()),e.includes(!1))i!==this.reset&&this.out._activateSignal(t);else{this.completed._activateSignal(t);for(let t=0;t<this.config.inputSignalCount;t++)e[t]=!1}}getClassName(){return"FlowGraphWaitAllBlock"}serialize(t){super.serialize(t),t.config.inputFlows=this.config.inputSignalCount}}i("FlowGraphWaitAllBlock",s);export{s as FlowGraphWaitAllBlock};
//# sourceMappingURL=flowGraphWaitAllBlock-CbPO9HmI.esm.min.js.map