@babylonjs/core 5.0.0-alpha.48 → 5.0.0-alpha.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Actions/action.js +5 -5
- package/Actions/action.js.map +1 -1
- package/Actions/actionManager.js +11 -11
- package/Actions/actionManager.js.map +1 -1
- package/Actions/condition.js +5 -5
- package/Actions/condition.js.map +1 -1
- package/Actions/directActions.js +13 -13
- package/Actions/directActions.js.map +1 -1
- package/Actions/directAudioActions.js +4 -4
- package/Actions/directAudioActions.js.map +1 -1
- package/Actions/index.js +8 -8
- package/Actions/interpolateValueAction.js +8 -8
- package/Actions/interpolateValueAction.js.map +1 -1
- package/Animations/animatable.js +12 -7
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.js +11 -11
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.js +4 -14
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animationPropertiesOverride.js +1 -1
- package/Animations/easing.js +1 -1
- package/Animations/index.js +12 -12
- package/Animations/pathCursor.js +1 -1
- package/Animations/runtimeAnimation.js +12 -7
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/analyser.js +2 -2
- package/Audio/audioEngine.js +5 -5
- package/Audio/audioEngine.js.map +1 -1
- package/Audio/audioSceneComponent.js +9 -9
- package/Audio/index.js +8 -8
- package/Audio/sound.js +7 -7
- package/Audio/sound.js.map +1 -1
- package/Audio/soundTrack.js +1 -1
- package/Audio/weightedsound.js +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js +2 -2
- package/Behaviors/Cameras/bouncingBehavior.js +2 -2
- package/Behaviors/Cameras/framingBehavior.js +5 -5
- package/Behaviors/Cameras/index.js +3 -3
- package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +9 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +119 -62
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/followBehavior.js +3 -3
- package/Behaviors/Meshes/handConstraintBehavior.js +2 -2
- package/Behaviors/Meshes/index.js +9 -9
- package/Behaviors/Meshes/multiPointerScaleBehavior.js +2 -2
- package/Behaviors/Meshes/pointerDragBehavior.js +10 -9
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/sixDofDragBehavior.d.ts +4 -0
- package/Behaviors/Meshes/sixDofDragBehavior.js +24 -13
- package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/surfaceMagnetismBehavior.js +2 -2
- package/Behaviors/index.js +3 -3
- package/Bones/bone.js +4 -4
- package/Bones/boneIKController.js +2 -2
- package/Bones/boneLookController.js +3 -3
- package/Bones/index.js +4 -4
- package/Bones/skeleton.js +9 -9
- package/Buffers/buffer.js +2 -5
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/index.js +3 -3
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js +5 -5
- package/Cameras/Inputs/BaseCameraPointersInput.js +3 -3
- package/Cameras/Inputs/arcRotateCameraGamepadInput.js +3 -3
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +4 -4
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +9 -9
- package/Cameras/Inputs/arcRotateCameraPointersInput.js +3 -3
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +3 -3
- package/Cameras/Inputs/flyCameraKeyboardInput.js +5 -5
- package/Cameras/Inputs/flyCameraMouseInput.js +6 -6
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js +4 -4
- package/Cameras/Inputs/followCameraMouseWheelInput.js +4 -4
- package/Cameras/Inputs/followCameraPointersInput.js +3 -3
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +5 -5
- package/Cameras/Inputs/freeCameraGamepadInput.js +4 -4
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +5 -5
- package/Cameras/Inputs/freeCameraMouseInput.js +5 -5
- package/Cameras/Inputs/freeCameraMouseWheelInput.js +5 -5
- package/Cameras/Inputs/freeCameraTouchInput.js +5 -5
- package/Cameras/Inputs/freeCameraVirtualJoystickInput.js +4 -4
- package/Cameras/Inputs/index.js +19 -19
- package/Cameras/RigModes/index.js +4 -4
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +2 -2
- package/Cameras/RigModes/stereoscopicRigMode.js +4 -4
- package/Cameras/RigModes/vrRigMode.js +6 -6
- package/Cameras/RigModes/webVRRigMode.js +2 -2
- package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js +5 -5
- package/Cameras/Stereoscopic/anaglyphFreeCamera.js +5 -5
- package/Cameras/Stereoscopic/anaglyphGamepadCamera.js +5 -5
- package/Cameras/Stereoscopic/anaglyphUniversalCamera.js +5 -5
- package/Cameras/Stereoscopic/index.js +9 -9
- package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js +5 -5
- package/Cameras/Stereoscopic/stereoscopicFreeCamera.js +5 -5
- package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js +5 -5
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +29 -16
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js +5 -5
- package/Cameras/VR/index.js +6 -6
- package/Cameras/VR/vrCameraMetrics.js +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +7 -7
- package/Cameras/VR/vrDeviceOrientationFreeCamera.js +6 -6
- package/Cameras/VR/vrDeviceOrientationGamepadCamera.js +6 -6
- package/Cameras/VR/vrExperienceHelper.d.ts +0 -3
- package/Cameras/VR/vrExperienceHelper.js +52 -39
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/webVRCamera.js +13 -13
- package/Cameras/arcRotateCamera.d.ts +10 -0
- package/Cameras/arcRotateCamera.js +40 -13
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/arcRotateCameraInputsManager.js +4 -4
- package/Cameras/camera.js +15 -15
- package/Cameras/camera.js.map +1 -1
- package/Cameras/cameraInputsManager.js +3 -3
- package/Cameras/deviceOrientationCamera.js +5 -5
- package/Cameras/flyCamera.js +6 -6
- package/Cameras/flyCameraInputsManager.js +3 -3
- package/Cameras/followCamera.js +6 -6
- package/Cameras/followCameraInputsManager.js +4 -4
- package/Cameras/freeCamera.js +6 -6
- package/Cameras/freeCameraInputsManager.js +5 -5
- package/Cameras/gamepadCamera.js +3 -3
- package/Cameras/index.js +20 -20
- package/Cameras/targetCamera.js +5 -5
- package/Cameras/touchCamera.js +3 -3
- package/Cameras/universalCamera.js +5 -5
- package/Cameras/virtualJoysticksCamera.js +4 -4
- package/Collisions/collider.js +2 -2
- package/Collisions/collisionCoordinator.js +4 -4
- package/Collisions/index.js +5 -5
- package/Collisions/meshCollisionData.js +1 -1
- package/Collisions/pickingInfo.d.ts +12 -2
- package/Collisions/pickingInfo.js +13 -4
- package/Collisions/pickingInfo.js.map +1 -1
- package/Compute/computeEffect.js +8 -8
- package/Compute/computeEffect.js.map +1 -1
- package/Compute/computeShader.js +8 -8
- package/Compute/computeShader.js.map +1 -1
- package/Compute/index.js +2 -2
- package/Culling/Octrees/index.js +3 -3
- package/Culling/Octrees/octree.js +2 -2
- package/Culling/Octrees/octreeBlock.js +2 -2
- package/Culling/Octrees/octreeSceneComponent.js +6 -6
- package/Culling/boundingBox.js +3 -3
- package/Culling/boundingInfo.js +4 -4
- package/Culling/boundingSphere.js +2 -2
- package/Culling/index.js +5 -5
- package/Culling/ray.js +6 -6
- package/Debug/axesViewer.js +4 -4
- package/Debug/boneAxesViewer.js +3 -3
- package/Debug/debugLayer.js +4 -4
- package/Debug/directionalLightFrustumViewer.js +19 -19
- package/Debug/directionalLightFrustumViewer.js.map +1 -1
- package/Debug/index.js +8 -8
- package/Debug/physicsViewer.js +15 -15
- package/Debug/physicsViewer.js.map +1 -1
- package/Debug/rayHelper.js +5 -5
- package/Debug/rayHelper.js.map +1 -1
- package/Debug/skeletonViewer.js +17 -17
- package/Debug/skeletonViewer.js.map +1 -1
- package/DeviceInput/Helpers/eventFactory.js +2 -2
- package/DeviceInput/Implementations/nativeDeviceInputWrapper.js +3 -3
- package/DeviceInput/Implementations/webDeviceInputSystem.js +5 -5
- package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
- package/DeviceInput/deviceInputSystem.js +2 -2
- package/DeviceInput/index.js +8 -8
- package/Engines/Extensions/engine.alpha.js +1 -1
- package/Engines/Extensions/engine.computeShader.js +1 -1
- package/Engines/Extensions/engine.cubeTexture.js +7 -7
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.debugging.js +1 -1
- package/Engines/Extensions/engine.dynamicBuffer.js +1 -1
- package/Engines/Extensions/engine.dynamicTexture.js +2 -2
- package/Engines/Extensions/engine.externalTexture.js +1 -1
- package/Engines/Extensions/engine.multiRender.js +3 -3
- package/Engines/Extensions/engine.multiview.js +8 -8
- package/Engines/Extensions/engine.query.js +4 -4
- package/Engines/Extensions/engine.rawTexture.js +4 -4
- package/Engines/Extensions/engine.readTexture.js +1 -1
- package/Engines/Extensions/engine.renderTarget.js +5 -5
- package/Engines/Extensions/engine.renderTargetCube.js +3 -3
- package/Engines/Extensions/engine.storageBuffer.js +1 -1
- package/Engines/Extensions/engine.textureSampler.js +1 -1
- package/Engines/Extensions/engine.textureSelector.js +1 -1
- package/Engines/Extensions/engine.transformFeedback.js +1 -1
- package/Engines/Extensions/engine.uniformBuffer.js +2 -2
- package/Engines/Extensions/engine.videoTexture.js +1 -1
- package/Engines/Extensions/engine.views.js +1 -1
- package/Engines/Extensions/engine.webVR.js +7 -7
- package/Engines/Extensions/engine.webVR.js.map +1 -1
- package/Engines/Extensions/index.js +23 -23
- package/Engines/Processors/Expressions/Operators/index.js +4 -4
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
- package/Engines/Processors/Expressions/index.js +2 -2
- package/Engines/Processors/index.js +9 -9
- package/Engines/Processors/shaderCodeConditionNode.js +1 -1
- package/Engines/Processors/shaderCodeInliner.js +13 -13
- package/Engines/Processors/shaderCodeInliner.js.map +1 -1
- package/Engines/Processors/shaderCodeNode.js +4 -4
- package/Engines/Processors/shaderCodeNode.js.map +1 -1
- package/Engines/Processors/shaderCodeTestNode.js +1 -1
- package/Engines/Processors/shaderProcessor.js +12 -12
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.js +1 -1
- package/Engines/WebGL/webGLShaderProcessors.js +1 -1
- package/Engines/WebGPU/Extensions/engine.alpha.js +2 -2
- package/Engines/WebGPU/Extensions/engine.computeShader.js +4 -4
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js +2 -2
- package/Engines/WebGPU/Extensions/engine.debugging.js +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicBuffer.js +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +1 -1
- package/Engines/WebGPU/Extensions/engine.externalTexture.js +3 -3
- package/Engines/WebGPU/Extensions/engine.multiRender.js +3 -3
- package/Engines/WebGPU/Extensions/engine.query.js +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js +3 -3
- package/Engines/WebGPU/Extensions/engine.readTexture.js +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +4 -4
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.js +2 -2
- package/Engines/WebGPU/Extensions/engine.storageBuffer.js +3 -3
- package/Engines/WebGPU/Extensions/engine.textureSampler.js +2 -2
- package/Engines/WebGPU/Extensions/engine.uniformBuffer.js +2 -2
- package/Engines/WebGPU/Extensions/engine.videoTexture.js +1 -1
- package/Engines/WebGPU/Extensions/index.js +17 -17
- package/Engines/WebGPU/webgpuBufferManager.js +5 -5
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +3 -3
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +2 -2
- package/Engines/WebGPU/webgpuClearQuad.js +4 -4
- package/Engines/WebGPU/webgpuComputeContext.js +3 -3
- package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js +3 -3
- package/Engines/WebGPU/webgpuMaterialContext.js +2 -2
- package/Engines/WebGPU/webgpuOcclusionQuery.js +2 -2
- package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
- package/Engines/WebGPU/webgpuQuerySet.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.js +2 -2
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +5 -5
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +17 -17
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +5 -5
- package/Engines/WebGPU/webgpuTimestampQuery.js +3 -3
- package/Engines/WebGPU/webgpuTintWASM.js +3 -3
- package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
- package/Engines/engine.js +21 -20
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFactory.js +3 -3
- package/Engines/index.js +30 -30
- package/Engines/nativeEngine.d.ts +4 -12
- package/Engines/nativeEngine.js +32 -42
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +25 -0
- package/Engines/nullEngine.js +62 -8
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.js +2 -2
- package/Engines/shaderStore.js +1 -1
- package/Engines/thinEngine.js +40 -37
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +37 -37
- package/Engines/webgpuEngine.js.map +1 -1
- package/Events/index.js +4 -4
- package/Events/pointerEvents.js +1 -1
- package/Gamepads/Controllers/daydreamController.js +4 -4
- package/Gamepads/Controllers/gearVRController.js +5 -5
- package/Gamepads/Controllers/genericController.js +3 -3
- package/Gamepads/Controllers/index.js +8 -8
- package/Gamepads/Controllers/oculusTouchController.js +5 -5
- package/Gamepads/Controllers/poseEnabledController.js +5 -5
- package/Gamepads/Controllers/viveController.js +3 -3
- package/Gamepads/Controllers/webVRController.js +2 -2
- package/Gamepads/Controllers/windowsMotionController.js +9 -9
- package/Gamepads/dualShockGamepad.js +2 -2
- package/Gamepads/gamepad.js +1 -1
- package/Gamepads/gamepadManager.js +9 -9
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gamepads/gamepadSceneComponent.js +7 -7
- package/Gamepads/index.js +6 -6
- package/Gamepads/xboxGamepad.js +2 -2
- package/Gizmos/axisDragGizmo.js +36 -22
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/axisScaleGizmo.js +12 -12
- package/Gizmos/axisScaleGizmo.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.js +31 -32
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/cameraGizmo.js +19 -19
- package/Gizmos/cameraGizmo.js.map +1 -1
- package/Gizmos/gizmo.js +5 -5
- package/Gizmos/gizmoManager.js +11 -11
- package/Gizmos/index.js +12 -12
- package/Gizmos/lightGizmo.js +45 -23
- package/Gizmos/lightGizmo.js.map +1 -1
- package/Gizmos/planeDragGizmo.js +10 -10
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Gizmos/planeRotationGizmo.js +24 -14
- package/Gizmos/planeRotationGizmo.js.map +1 -1
- package/Gizmos/positionGizmo.js +8 -8
- package/Gizmos/rotationGizmo.js +7 -7
- package/Gizmos/scaleGizmo.js +11 -11
- package/Gizmos/scaleGizmo.js.map +1 -1
- package/Helpers/environmentHelper.js +17 -15
- package/Helpers/environmentHelper.js.map +1 -1
- package/Helpers/index.js +4 -4
- package/Helpers/photoDome.js +2 -2
- package/Helpers/sceneHelpers.js +18 -18
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Helpers/textureDome.js +11 -11
- package/Helpers/textureDome.js.map +1 -1
- package/Helpers/videoDome.js +3 -3
- package/Inputs/scene.inputManager.js +8 -8
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Instrumentation/engineInstrumentation.js +1 -1
- package/Instrumentation/index.js +3 -3
- package/Instrumentation/sceneInstrumentation.js +2 -2
- package/Layers/effectLayer.js +17 -17
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/effectLayerSceneComponent.js +4 -4
- package/Layers/glowLayer.js +19 -16
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.js +20 -20
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/index.js +6 -6
- package/Layers/layer.js +12 -12
- package/Layers/layerSceneComponent.js +1 -1
- package/Legacy/legacy.js +3 -3
- package/LensFlares/index.js +3 -3
- package/LensFlares/lensFlare.js +2 -2
- package/LensFlares/lensFlareSystem.js +14 -14
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/LensFlares/lensFlareSystemSceneComponent.js +4 -4
- package/Lights/Shadows/cascadedShadowGenerator.js +12 -12
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/index.js +3 -3
- package/Lights/Shadows/shadowGenerator.js +19 -19
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGeneratorSceneComponent.js +4 -4
- package/Lights/directionalLight.js +5 -5
- package/Lights/hemisphericLight.js +5 -5
- package/Lights/index.js +7 -7
- package/Lights/light.js +8 -8
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.js +5 -5
- package/Lights/shadowLight.js +4 -4
- package/Lights/spotLight.js +6 -6
- package/Loading/Plugins/babylonFileLoader.js +30 -30
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/Plugins/index.js +1 -1
- package/Loading/index.js +4 -4
- package/Loading/loadingScreen.js +1 -1
- package/Loading/sceneLoader.js +11 -11
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +17 -17
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Background/index.js +1 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js +6 -6
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/fogBlock.js +9 -9
- package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +10 -10
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/index.js +7 -7
- package/Materials/Node/Blocks/Dual/lightBlock.js +17 -17
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +10 -10
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +7 -7
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +6 -6
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.js +14 -14
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/derivativeBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/discardBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +6 -6
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +9 -9
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/index.js +8 -8
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +10 -10
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/index.js +2 -2
- package/Materials/Node/Blocks/Input/inputBlock.js +12 -12
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js +7 -7
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js +10 -10
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/index.js +7 -7
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +21 -21
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +10 -10
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.js +13 -13
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.js +8 -8
- package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +9 -9
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/index.js +3 -3
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js +5 -5
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js +5 -5
- package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js +7 -7
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/bonesBlock.js +10 -10
- package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/index.js +5 -5
- package/Materials/Node/Blocks/Vertex/instancesBlock.js +7 -7
- package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +6 -6
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +10 -10
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +5 -5
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/addBlock.js +5 -5
- package/Materials/Node/Blocks/addBlock.js.map +1 -1
- package/Materials/Node/Blocks/arcTan2Block.js +5 -5
- package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
- package/Materials/Node/Blocks/clampBlock.js +6 -6
- package/Materials/Node/Blocks/clampBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorMergerBlock.js +5 -5
- package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorSplitterBlock.js +5 -5
- package/Materials/Node/Blocks/colorSplitterBlock.js.map +1 -1
- package/Materials/Node/Blocks/conditionalBlock.js +5 -5
- package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
- package/Materials/Node/Blocks/crossBlock.js +5 -5
- package/Materials/Node/Blocks/crossBlock.js.map +1 -1
- package/Materials/Node/Blocks/desaturateBlock.js +5 -5
- package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
- package/Materials/Node/Blocks/distanceBlock.js +5 -5
- package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
- package/Materials/Node/Blocks/divideBlock.js +5 -5
- package/Materials/Node/Blocks/divideBlock.js.map +1 -1
- package/Materials/Node/Blocks/dotBlock.js +5 -5
- package/Materials/Node/Blocks/dotBlock.js.map +1 -1
- package/Materials/Node/Blocks/fresnelBlock.js +8 -8
- package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.js +7 -7
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/index.js +52 -52
- package/Materials/Node/Blocks/lengthBlock.js +5 -5
- package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
- package/Materials/Node/Blocks/lerpBlock.js +5 -5
- package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
- package/Materials/Node/Blocks/matrixBuilderBlock.js +7 -7
- package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
- package/Materials/Node/Blocks/maxBlock.js +5 -5
- package/Materials/Node/Blocks/maxBlock.js.map +1 -1
- package/Materials/Node/Blocks/minBlock.js +5 -5
- package/Materials/Node/Blocks/minBlock.js.map +1 -1
- package/Materials/Node/Blocks/modBlock.js +5 -5
- package/Materials/Node/Blocks/modBlock.js.map +1 -1
- package/Materials/Node/Blocks/multiplyBlock.js +5 -5
- package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/nLerpBlock.js +5 -5
- package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
- package/Materials/Node/Blocks/negateBlock.js +5 -5
- package/Materials/Node/Blocks/negateBlock.js.map +1 -1
- package/Materials/Node/Blocks/normalBlendBlock.js +5 -5
- package/Materials/Node/Blocks/normalBlendBlock.js.map +1 -1
- package/Materials/Node/Blocks/normalizeBlock.js +5 -5
- package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/oneMinusBlock.js +6 -6
- package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
- package/Materials/Node/Blocks/posterizeBlock.js +5 -5
- package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/powBlock.js +5 -5
- package/Materials/Node/Blocks/powBlock.js.map +1 -1
- package/Materials/Node/Blocks/randomNumberBlock.js +6 -6
- package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
- package/Materials/Node/Blocks/reciprocalBlock.js +5 -5
- package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
- package/Materials/Node/Blocks/reflectBlock.js +5 -5
- package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
- package/Materials/Node/Blocks/refractBlock.js +5 -5
- package/Materials/Node/Blocks/refractBlock.js.map +1 -1
- package/Materials/Node/Blocks/remapBlock.js +7 -7
- package/Materials/Node/Blocks/remapBlock.js.map +1 -1
- package/Materials/Node/Blocks/replaceColorBlock.js +5 -5
- package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
- package/Materials/Node/Blocks/rotate2dBlock.js +6 -6
- package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
- package/Materials/Node/Blocks/scaleBlock.js +5 -5
- package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
- package/Materials/Node/Blocks/simplexPerlin3DBlock.js +5 -5
- package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
- package/Materials/Node/Blocks/smoothStepBlock.js +5 -5
- package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
- package/Materials/Node/Blocks/stepBlock.js +5 -5
- package/Materials/Node/Blocks/stepBlock.js.map +1 -1
- package/Materials/Node/Blocks/subtractBlock.js +5 -5
- package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.js +5 -5
- package/Materials/Node/Blocks/transformBlock.js.map +1 -1
- package/Materials/Node/Blocks/trigonometryBlock.js +5 -5
- package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorMergerBlock.js +5 -5
- package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorSplitterBlock.js +5 -5
- package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
- package/Materials/Node/Blocks/viewDirectionBlock.js +7 -7
- package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/waveBlock.js +5 -5
- package/Materials/Node/Blocks/waveBlock.js.map +1 -1
- package/Materials/Node/Blocks/worleyNoise3DBlock.js +6 -6
- package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
- package/Materials/Node/Enums/index.js +5 -5
- package/Materials/Node/Optimizers/index.js +1 -1
- package/Materials/Node/index.js +7 -7
- package/Materials/Node/nodeMaterial.js +40 -40
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +6 -6
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +3 -3
- package/Materials/Node/nodeMaterialBuildState.js +6 -6
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/Node/nodeMaterialConnectionPointCustomObject.js +1 -1
- package/Materials/Occlusion/index.js +1 -1
- package/Materials/Occlusion/occlusionMaterial.js +4 -4
- package/Materials/PBR/index.js +5 -5
- package/Materials/PBR/pbrAnisotropicConfiguration.js +11 -5
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.js +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +28 -28
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.js +3 -3
- package/Materials/PBR/pbrClearCoatConfiguration.js +10 -4
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrMaterial.js +7 -7
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/PBR/pbrMetallicRoughnessMaterial.js +4 -4
- package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.js +10 -4
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js +4 -4
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +19 -6
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.js +6 -6
- package/Materials/Textures/Loaders/basisTextureLoader.js +9 -9
- package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js +5 -5
- package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js +7 -7
- package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.js +4 -4
- package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/index.js +6 -6
- package/Materials/Textures/Loaders/ktxTextureLoader.js +6 -6
- package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.js +6 -6
- package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
- package/Materials/Textures/MultiviewRenderTarget.js +1 -1
- package/Materials/Textures/Packer/index.js +2 -2
- package/Materials/Textures/Packer/packer.js +9 -9
- package/Materials/Textures/Procedurals/customProceduralTexture.js +6 -6
- package/Materials/Textures/Procedurals/index.js +4 -4
- package/Materials/Textures/Procedurals/noiseProceduralTexture.js +5 -5
- package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js +15 -15
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js +2 -2
- package/Materials/Textures/baseTexture.js +8 -8
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.polynomial.js +2 -2
- package/Materials/Textures/colorGradingTexture.js +5 -5
- package/Materials/Textures/colorGradingTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.js +12 -12
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.js +3 -3
- package/Materials/Textures/equiRectangularCubeTexture.js +10 -12
- package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
- package/Materials/Textures/externalTexture.js +1 -1
- package/Materials/Textures/hdrCubeTexture.js +16 -16
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.js +4 -4
- package/Materials/Textures/index.js +27 -27
- package/Materials/Textures/internalTexture.d.ts +15 -2
- package/Materials/Textures/internalTexture.js +29 -13
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +5 -5
- package/Materials/Textures/multiRenderTarget.js +3 -3
- package/Materials/Textures/prePassRenderTarget.js +2 -2
- package/Materials/Textures/rawCubeTexture.d.ts +0 -3
- package/Materials/Textures/rawCubeTexture.js +6 -17
- package/Materials/Textures/rawCubeTexture.js.map +1 -1
- package/Materials/Textures/rawTexture.js +2 -2
- package/Materials/Textures/rawTexture2DArray.js +2 -2
- package/Materials/Textures/rawTexture3D.js +2 -2
- package/Materials/Textures/refractionTexture.js +2 -2
- package/Materials/Textures/renderTargetTexture.js +9 -9
- package/Materials/Textures/texture.js +30 -25
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/thinTexture.js +1 -1
- package/Materials/Textures/videoTexture.js +6 -6
- package/Materials/colorCurves.js +2 -2
- package/Materials/effect.js +8 -8
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.js +6 -6
- package/Materials/fresnelParameters.js +4 -4
- package/Materials/imageProcessingConfiguration.js +6 -6
- package/Materials/index.js +25 -25
- package/Materials/material.detailMapConfiguration.js +7 -4
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +11 -11
- package/Materials/materialFlags.js +1 -1
- package/Materials/materialHelper.js +7 -7
- package/Materials/materialStencilState.js +1 -1
- package/Materials/multiMaterial.js +4 -4
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/prePassConfiguration.d.ts +1 -0
- package/Materials/prePassConfiguration.js +8 -2
- package/Materials/prePassConfiguration.js.map +1 -1
- package/Materials/pushMaterial.js +2 -2
- package/Materials/shaderMaterial.d.ts +0 -2
- package/Materials/shaderMaterial.js +12 -30
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.js +6 -5
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.js +20 -20
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.js +3 -3
- package/Maths/index.js +4 -4
- package/Maths/math.axis.js +1 -1
- package/Maths/math.color.js +6 -6
- package/Maths/math.color.js.map +1 -1
- package/Maths/math.frustum.js +1 -1
- package/Maths/math.functions.js +2 -2
- package/Maths/math.isovector.js +2 -2
- package/Maths/math.js +10 -10
- package/Maths/math.path.js +3 -3
- package/Maths/math.plane.js +1 -1
- package/Maths/math.vector.js +9 -9
- package/Maths/math.vector.js.map +1 -1
- package/Maths/math.vertexFormat.js +1 -1
- package/Maths/sphericalPolynomial.js +2 -2
- package/Meshes/Builders/boxBuilder.d.ts +63 -32
- package/Meshes/Builders/boxBuilder.js +53 -39
- package/Meshes/Builders/boxBuilder.js.map +1 -1
- package/Meshes/Builders/capsuleBuilder.d.ts +20 -10
- package/Meshes/Builders/capsuleBuilder.js +36 -37
- package/Meshes/Builders/capsuleBuilder.js.map +1 -1
- package/Meshes/Builders/cylinderBuilder.d.ts +87 -48
- package/Meshes/Builders/cylinderBuilder.js +71 -53
- package/Meshes/Builders/cylinderBuilder.js.map +1 -1
- package/Meshes/Builders/decalBuilder.d.ts +26 -24
- package/Meshes/Builders/decalBuilder.js +211 -213
- package/Meshes/Builders/decalBuilder.js.map +1 -1
- package/Meshes/Builders/discBuilder.d.ts +27 -25
- package/Meshes/Builders/discBuilder.js +46 -36
- package/Meshes/Builders/discBuilder.js.map +1 -1
- package/Meshes/Builders/geodesicBuilder.d.ts +34 -39
- package/Meshes/Builders/geodesicBuilder.js +58 -67
- package/Meshes/Builders/geodesicBuilder.js.map +1 -1
- package/Meshes/Builders/goldbergBuilder.d.ts +56 -29
- package/Meshes/Builders/goldbergBuilder.js +97 -84
- package/Meshes/Builders/goldbergBuilder.js.map +1 -1
- package/Meshes/Builders/groundBuilder.d.ts +151 -79
- package/Meshes/Builders/groundBuilder.js +174 -137
- package/Meshes/Builders/groundBuilder.js.map +1 -1
- package/Meshes/Builders/hemisphereBuilder.d.ts +16 -14
- package/Meshes/Builders/hemisphereBuilder.js +33 -34
- package/Meshes/Builders/hemisphereBuilder.js.map +1 -1
- package/Meshes/Builders/icoSphereBuilder.d.ts +57 -29
- package/Meshes/Builders/icoSphereBuilder.js +51 -38
- package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
- package/Meshes/Builders/index.js +23 -23
- package/Meshes/Builders/latheBuilder.d.ts +38 -36
- package/Meshes/Builders/latheBuilder.js +70 -72
- package/Meshes/Builders/latheBuilder.js.map +1 -1
- package/Meshes/Builders/linesBuilder.d.ts +113 -82
- package/Meshes/Builders/linesBuilder.js +202 -184
- package/Meshes/Builders/linesBuilder.js.map +1 -1
- package/Meshes/Builders/planeBuilder.d.ts +48 -26
- package/Meshes/Builders/planeBuilder.js +50 -40
- package/Meshes/Builders/planeBuilder.js.map +1 -1
- package/Meshes/Builders/polygonBuilder.d.ts +68 -51
- package/Meshes/Builders/polygonBuilder.js +91 -79
- package/Meshes/Builders/polygonBuilder.js.map +1 -1
- package/Meshes/Builders/polyhedronBuilder.d.ts +73 -36
- package/Meshes/Builders/polyhedronBuilder.js +63 -43
- package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
- package/Meshes/Builders/ribbonBuilder.d.ts +69 -39
- package/Meshes/Builders/ribbonBuilder.js +166 -152
- package/Meshes/Builders/ribbonBuilder.js.map +1 -1
- package/Meshes/Builders/shapeBuilder.d.ts +83 -81
- package/Meshes/Builders/shapeBuilder.js +185 -186
- package/Meshes/Builders/shapeBuilder.js.map +1 -1
- package/Meshes/Builders/sphereBuilder.d.ts +62 -31
- package/Meshes/Builders/sphereBuilder.js +53 -39
- package/Meshes/Builders/sphereBuilder.js.map +1 -1
- package/Meshes/Builders/tiledBoxBuilder.d.ts +56 -29
- package/Meshes/Builders/tiledBoxBuilder.js +45 -36
- package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
- package/Meshes/Builders/tiledPlaneBuilder.d.ts +67 -38
- package/Meshes/Builders/tiledPlaneBuilder.js +51 -40
- package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
- package/Meshes/Builders/torusBuilder.d.ts +47 -25
- package/Meshes/Builders/torusBuilder.js +46 -36
- package/Meshes/Builders/torusBuilder.js.map +1 -1
- package/Meshes/Builders/torusKnotBuilder.d.ts +57 -29
- package/Meshes/Builders/torusKnotBuilder.js +51 -37
- package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
- package/Meshes/Builders/tubeBuilder.d.ts +42 -40
- package/Meshes/Builders/tubeBuilder.js +140 -142
- package/Meshes/Builders/tubeBuilder.js.map +1 -1
- package/Meshes/Compression/dracoCompression.js +3 -3
- package/Meshes/Compression/index.js +2 -2
- package/Meshes/Compression/meshoptCompression.js +1 -1
- package/Meshes/WebGL/webGLDataBuffer.js +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
- package/Meshes/abstractMesh.js +20 -20
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/csg.js +5 -5
- package/Meshes/geodesicMesh.js +4 -4
- package/Meshes/geometry.js +13 -17
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/groundMesh.js +3 -3
- package/Meshes/index.d.ts +1 -0
- package/Meshes/index.js +25 -24
- package/Meshes/index.js.map +1 -1
- package/Meshes/instancedMesh.js +8 -8
- package/Meshes/linesMesh.js +9 -9
- package/Meshes/mesh.d.ts +2 -383
- package/Meshes/mesh.js +32 -439
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.lts.d.ts +417 -0
- package/Meshes/mesh.lts.js +25 -0
- package/Meshes/mesh.lts.js.map +1 -0
- package/Meshes/mesh.vertexData.d.ts +21 -64
- package/Meshes/mesh.vertexData.js +46 -71
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/meshBuilder.d.ts +52 -799
- package/Meshes/meshBuilder.js +52 -609
- package/Meshes/meshBuilder.js.map +1 -1
- package/Meshes/meshSimplification.js +6 -6
- package/Meshes/meshSimplificationSceneComponent.js +4 -4
- package/Meshes/polygonMesh.js +8 -8
- package/Meshes/subMesh.js +5 -5
- package/Meshes/subMesh.project.js +2 -2
- package/Meshes/thinInstanceMesh.js +3 -3
- package/Meshes/trailMesh.js +5 -5
- package/Meshes/transformNode.js +5 -5
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +5 -5
- package/Misc/HighDynamicRange/hdr.js +1 -1
- package/Misc/HighDynamicRange/index.js +3 -3
- package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
- package/Misc/PerformanceViewer/index.js +4 -4
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +2 -2
- package/Misc/PerformanceViewer/performanceViewerCollector.js +4 -4
- package/Misc/PerformanceViewer/performanceViewerSceneExtension.js +2 -2
- package/Misc/assetsManager.js +8 -8
- package/Misc/basis.d.ts +40 -12
- package/Misc/basis.js +172 -145
- package/Misc/basis.js.map +1 -1
- package/Misc/brdfTextureTools.d.ts +9 -8
- package/Misc/brdfTextureTools.js +49 -50
- package/Misc/brdfTextureTools.js.map +1 -1
- package/Misc/codeStringParsingTools.d.ts +40 -45
- package/Misc/codeStringParsingTools.js +154 -163
- package/Misc/codeStringParsingTools.js.map +1 -1
- package/Misc/computePressure.js +2 -2
- package/Misc/computePressure.js.map +1 -1
- package/Misc/copyTools.d.ts +30 -5
- package/Misc/copyTools.js +108 -87
- package/Misc/copyTools.js.map +1 -1
- package/Misc/dataReader.js +2 -2
- package/Misc/dataReader.js.map +1 -1
- package/Misc/dds.js +23 -23
- package/Misc/dds.js.map +1 -1
- package/Misc/decorators.js +8 -8
- package/Misc/decorators.js.map +1 -1
- package/Misc/deepCopier.js +3 -3
- package/Misc/deepCopier.js.map +1 -1
- package/Misc/depthReducer.js +2 -2
- package/Misc/devTools.d.ts +1 -3
- package/Misc/devTools.js +3 -9
- package/Misc/devTools.js.map +1 -1
- package/Misc/domManagement.d.ts +27 -6
- package/Misc/domManagement.js +43 -26
- package/Misc/domManagement.js.map +1 -1
- package/Misc/environmentTextureTools.d.ts +61 -28
- package/Misc/environmentTextureTools.js +550 -503
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.d.ts +91 -101
- package/Misc/fileTools.js +414 -396
- package/Misc/fileTools.js.map +1 -1
- package/Misc/fileTools.lts.d.ts +9 -0
- package/Misc/fileTools.lts.js +64 -0
- package/Misc/fileTools.lts.js.map +1 -0
- package/Misc/filesInput.d.ts +1 -1
- package/Misc/filesInput.js +4 -4
- package/Misc/filesInput.js.map +1 -1
- package/Misc/gradients.js +1 -1
- package/Misc/guid.d.ts +10 -3
- package/Misc/guid.js +15 -12
- package/Misc/guid.js.map +1 -1
- package/Misc/index.d.ts +1 -0
- package/Misc/index.js +61 -60
- package/Misc/index.js.map +1 -1
- package/Misc/instantiationTools.js +3 -3
- package/Misc/instantiationTools.js.map +1 -1
- package/Misc/khronosTextureContainer.js +1 -1
- package/Misc/khronosTextureContainer2.js +2 -2
- package/Misc/meshExploder.js +1 -1
- package/Misc/minMaxReducer.js +4 -4
- package/Misc/observable.d.ts +7 -0
- package/Misc/observable.js +22 -0
- package/Misc/observable.js.map +1 -1
- package/Misc/observableCoroutine.js +1 -1
- package/Misc/perfCounter.js +1 -1
- package/Misc/performanceMonitor.js +1 -1
- package/Misc/pivotTools.js +1 -1
- package/Misc/precisionDate.js +1 -1
- package/Misc/reflector.js +4 -4
- package/Misc/reflector.js.map +1 -1
- package/Misc/rgbdTextureTools.js +5 -5
- package/Misc/rgbdTextureTools.js.map +1 -1
- package/Misc/sceneOptimizer.js +3 -3
- package/Misc/sceneRecorder.js +14 -14
- package/Misc/sceneSerializer.js +4 -4
- package/Misc/screenshotTools.d.ts +96 -12
- package/Misc/screenshotTools.js +302 -207
- package/Misc/screenshotTools.js.map +1 -1
- package/Misc/stringTools.d.ts +54 -47
- package/Misc/stringTools.js +108 -105
- package/Misc/stringTools.js.map +1 -1
- package/Misc/tags.js +1 -1
- package/Misc/textureTools.d.ts +38 -8
- package/Misc/textureTools.js +169 -138
- package/Misc/textureTools.js.map +1 -1
- package/Misc/tga.d.ts +34 -22
- package/Misc/tga.js +279 -260
- package/Misc/tga.js.map +1 -1
- package/Misc/timer.js +1 -1
- package/Misc/timingTools.js +2 -2
- package/Misc/timingTools.js.map +1 -1
- package/Misc/tools.d.ts +5 -5
- package/Misc/tools.js +42 -42
- package/Misc/tools.js.map +1 -1
- package/Misc/trajectoryClassifier.js +1 -1
- package/Misc/typeStore.d.ts +3 -8
- package/Misc/typeStore.js +9 -15
- package/Misc/typeStore.js.map +1 -1
- package/Misc/videoRecorder.js +1 -1
- package/Misc/virtualJoystick.js +2 -2
- package/Morph/index.js +2 -2
- package/Morph/morphTarget.js +6 -6
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +1 -1
- package/Morph/morphTargetManager.js +11 -10
- package/Morph/morphTargetManager.js.map +1 -1
- package/Navigation/Plugins/index.js +1 -1
- package/Navigation/Plugins/recastJSPlugin.js +6 -6
- package/Navigation/index.js +2 -2
- package/Offline/database.js +6 -6
- package/Offline/database.js.map +1 -1
- package/Offline/index.js +2 -2
- package/Particles/EmitterTypes/boxParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/coneParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/customParticleEmitter.js +2 -2
- package/Particles/EmitterTypes/cylinderParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/hemisphericParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/index.js +9 -9
- package/Particles/EmitterTypes/meshParticleEmitter.js +4 -4
- package/Particles/EmitterTypes/pointParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/sphereParticleEmitter.js +3 -3
- package/Particles/baseParticleSystem.js +5 -5
- package/Particles/cloudPoint.js +1 -1
- package/Particles/computeShaderParticleSystem.js +7 -7
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.js +24 -24
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/index.js +17 -17
- package/Particles/particle.js +3 -3
- package/Particles/particleHelper.js +8 -8
- package/Particles/particleSystem.js +26 -26
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/particleSystemComponent.js +7 -7
- package/Particles/particleSystemSet.js +7 -7
- package/Particles/particleSystemSet.js.map +1 -1
- package/Particles/pointsCloudSystem.js +12 -12
- package/Particles/solidParticle.js +5 -5
- package/Particles/solidParticleSystem.js +15 -15
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/subEmitter.d.ts +2 -1
- package/Particles/subEmitter.js +10 -8
- package/Particles/subEmitter.js.map +1 -1
- package/Particles/webgl2ParticleSystem.js +7 -7
- package/Particles/webgl2ParticleSystem.js.map +1 -1
- package/Physics/Plugins/ammoJSPlugin.js +35 -27
- package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
- package/Physics/Plugins/cannonJSPlugin.js +7 -7
- package/Physics/Plugins/index.js +3 -3
- package/Physics/Plugins/oimoJSPlugin.js +6 -6
- package/Physics/index.js +7 -7
- package/Physics/physicsEngine.js +3 -3
- package/Physics/physicsEngine.js.map +1 -1
- package/Physics/physicsEngineComponent.js +7 -7
- package/Physics/physicsHelper.js +8 -8
- package/Physics/physicsHelper.js.map +1 -1
- package/Physics/physicsImpostor.js +7 -7
- package/Physics/physicsRaycastResult.js +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +18 -18
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/index.js +5 -5
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +9 -9
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +17 -17
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +12 -12
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +16 -16
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/index.js +5 -5
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +2 -2
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js +3 -3
- package/PostProcesses/anaglyphPostProcess.js +4 -4
- package/PostProcesses/anaglyphPostProcess.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.js +5 -5
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.js +6 -6
- package/PostProcesses/bloomMergePostProcess.js +5 -5
- package/PostProcesses/bloomMergePostProcess.js.map +1 -1
- package/PostProcesses/blurPostProcess.js +7 -7
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.js +6 -6
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.js +6 -6
- package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.js +6 -6
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.js +5 -5
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldBlurPostProcess.js +5 -5
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.js +6 -6
- package/PostProcesses/depthOfFieldMergePostProcess.js +2 -2
- package/PostProcesses/displayPassPostProcess.js +5 -5
- package/PostProcesses/displayPassPostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.js +6 -6
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.js +5 -5
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.js +7 -7
- package/PostProcesses/fxaaPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.js +5 -5
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/highlightsPostProcess.js +2 -2
- package/PostProcesses/imageProcessingPostProcess.js +6 -6
- package/PostProcesses/index.js +33 -33
- package/PostProcesses/motionBlurPostProcess.js +11 -11
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.js +7 -7
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.js +11 -11
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/postProcessManager.js +1 -1
- package/PostProcesses/refractionPostProcess.js +6 -6
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.js +8 -8
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.js +7 -7
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.js +5 -5
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/stereoscopicInterlacePostProcess.js +3 -3
- package/PostProcesses/subSurfaceScatteringPostProcess.js +6 -6
- package/PostProcesses/tonemapPostProcess.js +2 -2
- package/PostProcesses/volumetricLightScatteringPostProcess.js +23 -23
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/PostProcesses/vrDistortionCorrectionPostProcess.js +4 -4
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +4 -4
- package/Probes/index.js +1 -1
- package/Probes/reflectionProbe.js +4 -4
- package/Rendering/boundingBoxRenderer.js +15 -15
- package/Rendering/boundingBoxRenderer.js.map +1 -1
- package/Rendering/depthRenderer.js +11 -11
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/depthRendererSceneComponent.js +3 -3
- package/Rendering/edgesRenderer.js +11 -11
- package/Rendering/geometryBufferRenderer.js +13 -13
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/geometryBufferRendererSceneComponent.js +3 -3
- package/Rendering/index.js +13 -13
- package/Rendering/motionBlurConfiguration.js.map +1 -1
- package/Rendering/outlineRenderer.js +8 -8
- package/Rendering/prePassRenderer.js +6 -6
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/prePassRendererSceneComponent.js +4 -4
- package/Rendering/renderingGroup.js +2 -2
- package/Rendering/renderingManager.js +1 -1
- package/Rendering/screenSpaceReflectionsConfiguration.js.map +1 -1
- package/Rendering/ssao2Configuration.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.js +6 -6
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Rendering/subSurfaceSceneComponent.js +5 -5
- package/Rendering/utilityLayerRenderer.js +8 -8
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js +2 -2
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js +2 -2
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +3 -3
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
- package/Shaders/ShadersInclude/fibonacci.js +1 -1
- package/Shaders/ShadersInclude/fogFragment.js +2 -2
- package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fogVertex.js +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js +2 -2
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +2 -2
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -3
- package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +3 -3
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +3 -3
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +3 -3
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +3 -3
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
- package/Shaders/anaglyph.fragment.js +1 -1
- package/Shaders/background.fragment.js +16 -16
- package/Shaders/background.vertex.js +15 -15
- package/Shaders/blackAndWhite.fragment.js +1 -1
- package/Shaders/bloomMerge.fragment.js +1 -1
- package/Shaders/blur.fragment.js +1 -1
- package/Shaders/chromaticAberration.fragment.js +1 -1
- package/Shaders/circleOfConfusion.fragment.js +1 -1
- package/Shaders/clearQuad.fragment.js +1 -1
- package/Shaders/clearQuad.vertex.js +1 -1
- package/Shaders/color.fragment.js +3 -3
- package/Shaders/color.vertex.js +7 -7
- package/Shaders/colorCorrection.fragment.js +1 -1
- package/Shaders/convolution.fragment.js +1 -1
- package/Shaders/default.fragment.js +26 -26
- package/Shaders/default.vertex.js +31 -31
- package/Shaders/depth.fragment.js +2 -2
- package/Shaders/depth.vertex.js +9 -9
- package/Shaders/depthBoxBlur.fragment.js +1 -1
- package/Shaders/depthOfField.fragment.js +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +1 -1
- package/Shaders/displayPass.fragment.js +1 -1
- package/Shaders/extractHighlights.fragment.js +2 -2
- package/Shaders/filter.fragment.js +1 -1
- package/Shaders/fxaa.fragment.js +1 -1
- package/Shaders/fxaa.vertex.js +1 -1
- package/Shaders/geometry.fragment.js +5 -5
- package/Shaders/geometry.vertex.js +12 -12
- package/Shaders/glowBlurPostProcess.fragment.js +1 -1
- package/Shaders/glowMapGeneration.fragment.js +2 -2
- package/Shaders/glowMapGeneration.vertex.js +9 -9
- package/Shaders/glowMapMerge.fragment.js +1 -1
- package/Shaders/glowMapMerge.vertex.js +1 -1
- package/Shaders/gpuRenderParticles.fragment.js +6 -6
- package/Shaders/gpuRenderParticles.vertex.js +3 -3
- package/Shaders/gpuUpdateParticles.fragment.js +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js +1 -1
- package/Shaders/grain.fragment.js +2 -2
- package/Shaders/hdrFiltering.fragment.js +5 -5
- package/Shaders/hdrFiltering.vertex.js +1 -1
- package/Shaders/highlights.fragment.js +1 -1
- package/Shaders/imageProcessing.fragment.js +4 -4
- package/Shaders/kernelBlur.fragment.js +5 -5
- package/Shaders/kernelBlur.vertex.js +3 -3
- package/Shaders/layer.fragment.js +2 -2
- package/Shaders/layer.vertex.js +1 -1
- package/Shaders/lensFlare.fragment.js +1 -1
- package/Shaders/lensFlare.vertex.js +1 -1
- package/Shaders/lensHighlights.fragment.js +1 -1
- package/Shaders/line.fragment.js +3 -3
- package/Shaders/line.vertex.js +5 -5
- package/Shaders/minmaxRedux.fragment.js +1 -1
- package/Shaders/motionBlur.fragment.js +1 -1
- package/Shaders/noise.fragment.js +1 -1
- package/Shaders/outline.fragment.js +3 -3
- package/Shaders/outline.vertex.js +11 -11
- package/Shaders/particles.fragment.js +6 -6
- package/Shaders/particles.vertex.js +3 -3
- package/Shaders/pass.fragment.js +1 -1
- package/Shaders/passCube.fragment.js +1 -1
- package/Shaders/pbr.fragment.js +55 -55
- package/Shaders/pbr.vertex.js +31 -31
- package/Shaders/postprocess.vertex.js +1 -1
- package/Shaders/procedural.vertex.js +1 -1
- package/Shaders/refraction.fragment.js +1 -1
- package/Shaders/rgbdDecode.fragment.js +2 -2
- package/Shaders/rgbdEncode.fragment.js +2 -2
- package/Shaders/screenSpaceCurvature.fragment.js +1 -1
- package/Shaders/screenSpaceReflection.fragment.js +1 -1
- package/Shaders/shadowMap.fragment.js +5 -5
- package/Shaders/shadowMap.vertex.js +16 -16
- package/Shaders/sharpen.fragment.js +1 -1
- package/Shaders/spriteMap.fragment.js +1 -1
- package/Shaders/spriteMap.vertex.js +1 -1
- package/Shaders/sprites.fragment.js +4 -4
- package/Shaders/sprites.vertex.js +2 -2
- package/Shaders/ssao.fragment.js +1 -1
- package/Shaders/ssao2.fragment.js +1 -1
- package/Shaders/ssaoCombine.fragment.js +1 -1
- package/Shaders/standard.fragment.js +2 -2
- package/Shaders/stereoscopicInterlace.fragment.js +1 -1
- package/Shaders/subSurfaceScattering.fragment.js +5 -5
- package/Shaders/tonemap.fragment.js +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js +9 -9
- package/Shaders/vrDistortionCorrection.fragment.js +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
- package/Sprites/index.js +6 -6
- package/Sprites/sprite.js +4 -4
- package/Sprites/spriteManager.js +11 -11
- package/Sprites/spriteMap.js +11 -11
- package/Sprites/spriteMap.js.map +1 -1
- package/Sprites/spritePackedManager.js +2 -2
- package/Sprites/spriteRenderer.js +6 -6
- package/Sprites/spriteSceneComponent.js +6 -6
- package/States/index.js +4 -4
- package/XR/features/WebXRAnchorSystem.js +5 -5
- package/XR/features/WebXRBackgroundRemover.js +3 -3
- package/XR/features/WebXRControllerMovement.js +5 -5
- package/XR/features/WebXRControllerPhysics.js +8 -8
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.js +19 -15
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.js +24 -24
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/features/WebXRDOMOverlay.js +3 -3
- package/XR/features/WebXREyeTracking.js +5 -5
- package/XR/features/WebXRFeaturePointSystem.js +4 -4
- package/XR/features/WebXRHandTracking.js +15 -15
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRHitTest.js +5 -5
- package/XR/features/WebXRHitTestLegacy.js +5 -5
- package/XR/features/WebXRImageTracking.js +5 -5
- package/XR/features/WebXRLightEstimation.js +12 -12
- package/XR/features/WebXRMeshDetector.js +4 -4
- package/XR/features/WebXRNearInteraction.js +14 -12
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/features/WebXRPlaneDetector.js +4 -4
- package/XR/features/WebXRWalkingLocomotion.js +5 -5
- package/XR/features/index.js +19 -19
- package/XR/index.js +12 -12
- package/XR/motionController/index.js +9 -9
- package/XR/motionController/webXRAbstractMotionController.js +6 -6
- package/XR/motionController/webXRControllerComponent.js +1 -1
- package/XR/motionController/webXRGenericHandController.js +2 -2
- package/XR/motionController/webXRGenericMotionController.js +3 -3
- package/XR/motionController/webXRHTCViveMotionController.js +4 -4
- package/XR/motionController/webXRMicrosoftMixedRealityController.js +6 -6
- package/XR/motionController/webXRMotionControllerManager.js +3 -3
- package/XR/motionController/webXROculusTouchMotionController.js +4 -4
- package/XR/motionController/webXRProfiledMotionController.js +10 -10
- package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
- package/XR/webXRCamera.js +7 -7
- package/XR/webXRDefaultExperience.js +7 -7
- package/XR/webXREnterExitUI.js +3 -3
- package/XR/webXRExperienceHelper.js +8 -8
- package/XR/webXRFeaturesManager.js +1 -1
- package/XR/webXRInput.js +3 -3
- package/XR/webXRInputSource.js +5 -5
- package/XR/webXRManagedOutputCanvas.js +2 -2
- package/XR/webXRSessionManager.js +5 -5
- package/assetContainer.js +4 -4
- package/index.d.ts +1 -0
- package/index.js +44 -43
- package/index.js.map +1 -1
- package/license.md +12 -13
- package/node.js +6 -6
- package/node.js.map +1 -1
- package/package.json +10 -1
- package/readme.md +12 -13
- package/scene.d.ts +5 -147
- package/scene.js +46 -229
- package/scene.js.map +1 -1
- package/scene.lts.d.ts +165 -0
- package/scene.lts.js +68 -0
- package/scene.lts.js.map +1 -0
package/Actions/action.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Observable } from "../Misc/observable";
|
|
2
|
-
import { Vector2, Vector3 } from "../Maths/math.vector";
|
|
3
|
-
import { Color3, Color4 } from "../Maths/math.color";
|
|
4
|
-
import {
|
|
1
|
+
import { Observable } from "../Misc/observable.js";
|
|
2
|
+
import { Vector2, Vector3 } from "../Maths/math.vector.js";
|
|
3
|
+
import { Color3, Color4 } from "../Maths/math.color.js";
|
|
4
|
+
import { RegisterClass } from '../Misc/typeStore.js';
|
|
5
5
|
/**
|
|
6
6
|
* The action to be carried out following a trigger
|
|
7
7
|
* @see https://doc.babylonjs.com/how_to/how_to_use_actions#available-actions
|
|
@@ -207,5 +207,5 @@ var Action = /** @class */ (function () {
|
|
|
207
207
|
return Action;
|
|
208
208
|
}());
|
|
209
209
|
export { Action };
|
|
210
|
-
|
|
210
|
+
RegisterClass("BABYLON.Action", Action);
|
|
211
211
|
//# sourceMappingURL=action.js.map
|
package/Actions/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/action.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"../Misc/observable\";\r\nimport { Vector2, Vector3 } from \"../Maths/math.vector\";\r\nimport { Color3, Color4 } from \"../Maths/math.color\";\r\nimport { Condition } from \"./condition\";\r\nimport { _TypeStore } from '../Misc/typeStore';\r\nimport { AbstractActionManager } from './abstractActionManager';\r\nimport { Nullable } from \"../types\";\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type ActionManager = import(\"./actionManager\").ActionManager;\r\ndeclare type ActionEvent = import(\"./actionEvent\").ActionEvent;\r\ndeclare type Mesh = import(\"../Meshes/mesh\").Mesh;\r\ndeclare type Light = import(\"../Lights/light\").Light;\r\ndeclare type Camera = import(\"../Cameras/camera\").Camera;\r\ndeclare type Node = import(\"../node\").Node;\r\n\r\n/**\r\n * Interface used to define Action\r\n */\r\nexport interface IAction {\r\n /**\r\n * Trigger for the action\r\n */\r\n trigger: number;\r\n\r\n /** Options of the trigger */\r\n triggerOptions: any;\r\n\r\n /**\r\n * Gets the trigger parameters\r\n * @returns the trigger parameters\r\n */\r\n getTriggerParameter(): any;\r\n\r\n /**\r\n * Internal only - executes current action event\r\n * @hidden\r\n */\r\n _executeCurrent(evt?: ActionEvent): void;\r\n\r\n /**\r\n * Serialize placeholder for child classes\r\n * @param parent of child\r\n * @returns the serialized object\r\n */\r\n serialize(parent: any): any;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n _prepare(): void;\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n _actionManager: Nullable<AbstractActionManager>;\r\n\r\n /**\r\n * Adds action to chain of actions, may be a DoNothingAction\r\n * @param action defines the next action to execute\r\n * @returns The action passed in\r\n * @see https://www.babylonjs-playground.com/#1T30HR#0\r\n */\r\n then(action: IAction): IAction;\r\n}\r\n\r\n/**\r\n * The action to be carried out following a trigger\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#available-actions\r\n */\r\nexport class Action implements IAction {\r\n /**\r\n * Trigger for the action\r\n */\r\n public trigger: number;\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n private _nextActiveAction: Action;\r\n private _child: Action;\r\n private _condition?: Condition;\r\n private _triggerParameter: any;\r\n\r\n /**\r\n * An event triggered prior to action being executed.\r\n */\r\n public onBeforeExecuteObservable = new Observable<Action>();\r\n\r\n /**\r\n * Creates a new Action\r\n * @param triggerOptions the trigger, with or without parameters, for the action\r\n * @param condition an optional determinant of action\r\n */\r\n constructor(\r\n /** the trigger, with or without parameters, for the action */\r\n public triggerOptions: any, condition?: Condition) {\r\n\r\n if (triggerOptions.parameter) {\r\n this.trigger = triggerOptions.trigger;\r\n this._triggerParameter = triggerOptions.parameter;\r\n } else if (triggerOptions.trigger) {\r\n this.trigger = triggerOptions.trigger;\r\n } else {\r\n this.trigger = triggerOptions;\r\n }\r\n\r\n this._nextActiveAction = this;\r\n this._condition = condition;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Gets the trigger parameter\r\n * @returns the trigger parameter\r\n */\r\n public getTriggerParameter(): any {\r\n return this._triggerParameter;\r\n }\r\n\r\n /**\r\n * Sets the trigger parameter\r\n * @param value defines the new trigger parameter\r\n */\r\n public setTriggerParameter(value: any) {\r\n this._triggerParameter = value;\r\n }\r\n\r\n /**\r\n * Internal only - Returns if the current condition allows to run the action\r\n * @hidden\r\n */\r\n public _evaluateConditionForCurrentFrame(): boolean {\r\n const condition = this._condition;\r\n if (!condition) {\r\n return true;\r\n }\r\n\r\n const currentRenderId = this._actionManager.getScene().getRenderId();\r\n\r\n // We cache the current evaluation for the current frame\r\n if (condition._evaluationId !== currentRenderId) {\r\n condition._evaluationId = currentRenderId;\r\n condition._currentResult = condition.isValid();\r\n }\r\n\r\n return condition._currentResult;\r\n }\r\n\r\n /**\r\n * Internal only - executes current action event\r\n * @hidden\r\n */\r\n public _executeCurrent(evt?: ActionEvent): void {\r\n const isConditionValid = this._evaluateConditionForCurrentFrame();\r\n if (!isConditionValid) {\r\n return;\r\n }\r\n\r\n this.onBeforeExecuteObservable.notifyObservers(this);\r\n this._nextActiveAction.execute(evt);\r\n\r\n this.skipToNextActiveAction();\r\n }\r\n\r\n /**\r\n * Execute placeholder for child classes\r\n * @param evt optional action event\r\n */\r\n public execute(evt?: ActionEvent): void {\r\n\r\n }\r\n\r\n /**\r\n * Skips to next active action\r\n */\r\n public skipToNextActiveAction(): void {\r\n if (this._nextActiveAction._child) {\r\n\r\n if (!this._nextActiveAction._child._actionManager) {\r\n this._nextActiveAction._child._actionManager = this._actionManager;\r\n }\r\n\r\n this._nextActiveAction = this._nextActiveAction._child;\r\n } else {\r\n this._nextActiveAction = this;\r\n }\r\n }\r\n\r\n /**\r\n * Adds action to chain of actions, may be a DoNothingAction\r\n * @param action defines the next action to execute\r\n * @returns The action passed in\r\n * @see https://www.babylonjs-playground.com/#1T30HR#0\r\n */\r\n public then(action: Action): Action {\r\n this._child = action;\r\n\r\n action._actionManager = this._actionManager;\r\n action._prepare();\r\n\r\n return action;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getProperty(propertyPath: string): string {\r\n return this._actionManager._getProperty(propertyPath);\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getEffectiveTarget(target: any, propertyPath: string): any {\r\n return this._actionManager._getEffectiveTarget(target, propertyPath);\r\n }\r\n\r\n /**\r\n * Serialize placeholder for child classes\r\n * @param parent of child\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n }\r\n\r\n /**\r\n * Internal only called by serialize\r\n * @hidden\r\n */\r\n protected _serialize(serializedAction: any, parent?: any): any {\r\n var serializationObject: any = {\r\n type: 1,\r\n children: [],\r\n name: serializedAction.name,\r\n properties: serializedAction.properties || []\r\n };\r\n\r\n // Serialize child\r\n if (this._child) {\r\n this._child.serialize(serializationObject);\r\n }\r\n\r\n // Check if \"this\" has a condition\r\n if (this._condition) {\r\n var serializedCondition = this._condition.serialize();\r\n serializedCondition.children.push(serializationObject);\r\n\r\n if (parent) {\r\n parent.children.push(serializedCondition);\r\n }\r\n return serializedCondition;\r\n }\r\n\r\n if (parent) {\r\n parent.children.push(serializationObject);\r\n }\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public static _SerializeValueAsString = (value: any): string => {\r\n if (typeof value === \"number\") {\r\n return value.toString();\r\n }\r\n\r\n if (typeof value === \"boolean\") {\r\n return value ? \"true\" : \"false\";\r\n }\r\n\r\n if (value instanceof Vector2) {\r\n return value.x + \", \" + value.y;\r\n }\r\n if (value instanceof Vector3) {\r\n return value.x + \", \" + value.y + \", \" + value.z;\r\n }\r\n\r\n if (value instanceof Color3) {\r\n return value.r + \", \" + value.g + \", \" + value.b;\r\n }\r\n if (value instanceof Color4) {\r\n return value.r + \", \" + value.g + \", \" + value.b + \", \" + value.a;\r\n }\r\n\r\n return value; // string\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public static _GetTargetProperty = (target: Scene | Node) => {\r\n return {\r\n name: \"target\",\r\n targetType: (<Mesh>target)._isMesh ? \"MeshProperties\"\r\n : (<Light>target)._isLight ? \"LightProperties\"\r\n : (<Camera>target)._isCamera ? \"CameraProperties\"\r\n : \"SceneProperties\",\r\n value: (<Scene>target)._isScene ? \"Scene\" : (<Node>target).name\r\n };\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.Action\"] = Action;\r\n"]}
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgElD;;;GAGG;AACH;IAsBI;;;;OAIG;IACH;IACI,8DAA8D;IACvD,cAAmB,EAAE,SAAqB;QAA1C,mBAAc,GAAd,cAAc,CAAK;QAZ9B;;UAEE;QACK,8BAAyB,GAAG,IAAI,UAAU,EAAU,CAAC;QAWxD,IAAI,cAAc,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC;SACrD;aAAM,IAAI,cAAc,CAAC,OAAO,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;SACjC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,yBAAQ,GAAf;IACA,CAAC;IAED;;;OAGG;IACI,oCAAmB,GAA1B;QACI,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,oCAAmB,GAA1B,UAA2B,KAAU;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,kDAAiC,GAAxC;QACG,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,IAAI,CAAC;SACf;QAED,IAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QAErE,wDAAwD;QACxD,IAAI,SAAS,CAAC,aAAa,KAAK,eAAe,EAAE;YAC7C,SAAS,CAAC,aAAa,GAAG,eAAe,CAAC;YAC1C,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;SAClD;QAED,OAAO,SAAS,CAAC,cAAc,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,gCAAe,GAAtB,UAAuB,GAAiB;QACpC,IAAM,gBAAgB,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE;YACnB,OAAO;SACV;QAED,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,wBAAO,GAAd,UAAe,GAAiB;IAEhC,CAAC;IAED;;OAEG;IACI,uCAAsB,GAA7B;QACI,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAE/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;aACtE;YAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;SAC1D;aAAM;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACjC;IACL,CAAC;IAED;;;;;OAKG;IACI,qBAAI,GAAX,UAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,6BAAY,GAAnB,UAAoB,YAAoB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,oCAAmB,GAA1B,UAA2B,MAAW,EAAE,YAAoB;QACxD,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACI,0BAAS,GAAhB,UAAiB,MAAW;IAC5B,CAAC;IAED;;;OAGG;IACO,2BAAU,GAApB,UAAqB,gBAAqB,EAAE,MAAY;QACpD,IAAI,mBAAmB,GAAQ;YAC3B,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,gBAAgB,CAAC,IAAI;YAC3B,UAAU,EAAE,gBAAgB,CAAC,UAAU,IAAI,EAAE;SAChD,CAAC;QAEF,kBAAkB;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;SAC9C;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACtD,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEvD,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC7C;YACD,OAAO,mBAAmB,CAAC;SAC9B;QAED,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC7C;QACD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACW,8BAAuB,GAAG,UAAC,KAAU;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3B;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;SACnC;QAED,IAAI,KAAK,YAAY,OAAO,EAAE;YAC1B,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;SACnC;QACD,IAAI,KAAK,YAAY,OAAO,EAAE;YAC1B,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;SACpD;QAED,IAAI,KAAK,YAAY,MAAM,EAAE;YACzB,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;SACpD;QACD,IAAI,KAAK,YAAY,MAAM,EAAE;YACzB,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;SACrE;QAED,OAAO,KAAK,CAAC,CAAC,SAAS;IAC3B,CAAC,CAAA;IAED;;;OAGG;IACW,yBAAkB,GAAG,UAAC,MAAoB;QACpD,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAS,MAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;gBACjD,CAAC,CAAS,MAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB;oBAC1C,CAAC,CAAU,MAAO,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;wBAC7C,CAAC,CAAC,iBAAiB;YAC/B,KAAK,EAAU,MAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAQ,MAAO,CAAC,IAAI;SAClE,CAAC;IACN,CAAC,CAAA;IACL,aAAC;CAAA,AArPD,IAqPC;SArPY,MAAM;AAuPnB,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC","sourcesContent":["import { Observable } from \"../Misc/observable\";\r\nimport { Vector2, Vector3 } from \"../Maths/math.vector\";\r\nimport { Color3, Color4 } from \"../Maths/math.color\";\r\nimport { Condition } from \"./condition\";\r\nimport { RegisterClass } from '../Misc/typeStore';\r\nimport { AbstractActionManager } from './abstractActionManager';\r\nimport { Nullable } from \"../types\";\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type ActionManager = import(\"./actionManager\").ActionManager;\r\ndeclare type ActionEvent = import(\"./actionEvent\").ActionEvent;\r\ndeclare type Mesh = import(\"../Meshes/mesh\").Mesh;\r\ndeclare type Light = import(\"../Lights/light\").Light;\r\ndeclare type Camera = import(\"../Cameras/camera\").Camera;\r\ndeclare type Node = import(\"../node\").Node;\r\n\r\n/**\r\n * Interface used to define Action\r\n */\r\nexport interface IAction {\r\n /**\r\n * Trigger for the action\r\n */\r\n trigger: number;\r\n\r\n /** Options of the trigger */\r\n triggerOptions: any;\r\n\r\n /**\r\n * Gets the trigger parameters\r\n * @returns the trigger parameters\r\n */\r\n getTriggerParameter(): any;\r\n\r\n /**\r\n * Internal only - executes current action event\r\n * @hidden\r\n */\r\n _executeCurrent(evt?: ActionEvent): void;\r\n\r\n /**\r\n * Serialize placeholder for child classes\r\n * @param parent of child\r\n * @returns the serialized object\r\n */\r\n serialize(parent: any): any;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n _prepare(): void;\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n _actionManager: Nullable<AbstractActionManager>;\r\n\r\n /**\r\n * Adds action to chain of actions, may be a DoNothingAction\r\n * @param action defines the next action to execute\r\n * @returns The action passed in\r\n * @see https://www.babylonjs-playground.com/#1T30HR#0\r\n */\r\n then(action: IAction): IAction;\r\n}\r\n\r\n/**\r\n * The action to be carried out following a trigger\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#available-actions\r\n */\r\nexport class Action implements IAction {\r\n /**\r\n * Trigger for the action\r\n */\r\n public trigger: number;\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n private _nextActiveAction: Action;\r\n private _child: Action;\r\n private _condition?: Condition;\r\n private _triggerParameter: any;\r\n\r\n /**\r\n * An event triggered prior to action being executed.\r\n */\r\n public onBeforeExecuteObservable = new Observable<Action>();\r\n\r\n /**\r\n * Creates a new Action\r\n * @param triggerOptions the trigger, with or without parameters, for the action\r\n * @param condition an optional determinant of action\r\n */\r\n constructor(\r\n /** the trigger, with or without parameters, for the action */\r\n public triggerOptions: any, condition?: Condition) {\r\n\r\n if (triggerOptions.parameter) {\r\n this.trigger = triggerOptions.trigger;\r\n this._triggerParameter = triggerOptions.parameter;\r\n } else if (triggerOptions.trigger) {\r\n this.trigger = triggerOptions.trigger;\r\n } else {\r\n this.trigger = triggerOptions;\r\n }\r\n\r\n this._nextActiveAction = this;\r\n this._condition = condition;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Gets the trigger parameter\r\n * @returns the trigger parameter\r\n */\r\n public getTriggerParameter(): any {\r\n return this._triggerParameter;\r\n }\r\n\r\n /**\r\n * Sets the trigger parameter\r\n * @param value defines the new trigger parameter\r\n */\r\n public setTriggerParameter(value: any) {\r\n this._triggerParameter = value;\r\n }\r\n\r\n /**\r\n * Internal only - Returns if the current condition allows to run the action\r\n * @hidden\r\n */\r\n public _evaluateConditionForCurrentFrame(): boolean {\r\n const condition = this._condition;\r\n if (!condition) {\r\n return true;\r\n }\r\n\r\n const currentRenderId = this._actionManager.getScene().getRenderId();\r\n\r\n // We cache the current evaluation for the current frame\r\n if (condition._evaluationId !== currentRenderId) {\r\n condition._evaluationId = currentRenderId;\r\n condition._currentResult = condition.isValid();\r\n }\r\n\r\n return condition._currentResult;\r\n }\r\n\r\n /**\r\n * Internal only - executes current action event\r\n * @hidden\r\n */\r\n public _executeCurrent(evt?: ActionEvent): void {\r\n const isConditionValid = this._evaluateConditionForCurrentFrame();\r\n if (!isConditionValid) {\r\n return;\r\n }\r\n\r\n this.onBeforeExecuteObservable.notifyObservers(this);\r\n this._nextActiveAction.execute(evt);\r\n\r\n this.skipToNextActiveAction();\r\n }\r\n\r\n /**\r\n * Execute placeholder for child classes\r\n * @param evt optional action event\r\n */\r\n public execute(evt?: ActionEvent): void {\r\n\r\n }\r\n\r\n /**\r\n * Skips to next active action\r\n */\r\n public skipToNextActiveAction(): void {\r\n if (this._nextActiveAction._child) {\r\n\r\n if (!this._nextActiveAction._child._actionManager) {\r\n this._nextActiveAction._child._actionManager = this._actionManager;\r\n }\r\n\r\n this._nextActiveAction = this._nextActiveAction._child;\r\n } else {\r\n this._nextActiveAction = this;\r\n }\r\n }\r\n\r\n /**\r\n * Adds action to chain of actions, may be a DoNothingAction\r\n * @param action defines the next action to execute\r\n * @returns The action passed in\r\n * @see https://www.babylonjs-playground.com/#1T30HR#0\r\n */\r\n public then(action: Action): Action {\r\n this._child = action;\r\n\r\n action._actionManager = this._actionManager;\r\n action._prepare();\r\n\r\n return action;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getProperty(propertyPath: string): string {\r\n return this._actionManager._getProperty(propertyPath);\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getEffectiveTarget(target: any, propertyPath: string): any {\r\n return this._actionManager._getEffectiveTarget(target, propertyPath);\r\n }\r\n\r\n /**\r\n * Serialize placeholder for child classes\r\n * @param parent of child\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n }\r\n\r\n /**\r\n * Internal only called by serialize\r\n * @hidden\r\n */\r\n protected _serialize(serializedAction: any, parent?: any): any {\r\n var serializationObject: any = {\r\n type: 1,\r\n children: [],\r\n name: serializedAction.name,\r\n properties: serializedAction.properties || []\r\n };\r\n\r\n // Serialize child\r\n if (this._child) {\r\n this._child.serialize(serializationObject);\r\n }\r\n\r\n // Check if \"this\" has a condition\r\n if (this._condition) {\r\n var serializedCondition = this._condition.serialize();\r\n serializedCondition.children.push(serializationObject);\r\n\r\n if (parent) {\r\n parent.children.push(serializedCondition);\r\n }\r\n return serializedCondition;\r\n }\r\n\r\n if (parent) {\r\n parent.children.push(serializationObject);\r\n }\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public static _SerializeValueAsString = (value: any): string => {\r\n if (typeof value === \"number\") {\r\n return value.toString();\r\n }\r\n\r\n if (typeof value === \"boolean\") {\r\n return value ? \"true\" : \"false\";\r\n }\r\n\r\n if (value instanceof Vector2) {\r\n return value.x + \", \" + value.y;\r\n }\r\n if (value instanceof Vector3) {\r\n return value.x + \", \" + value.y + \", \" + value.z;\r\n }\r\n\r\n if (value instanceof Color3) {\r\n return value.r + \", \" + value.g + \", \" + value.b;\r\n }\r\n if (value instanceof Color4) {\r\n return value.r + \", \" + value.g + \", \" + value.b + \", \" + value.a;\r\n }\r\n\r\n return value; // string\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public static _GetTargetProperty = (target: Scene | Node) => {\r\n return {\r\n name: \"target\",\r\n targetType: (<Mesh>target)._isMesh ? \"MeshProperties\"\r\n : (<Light>target)._isLight ? \"LightProperties\"\r\n : (<Camera>target)._isCamera ? \"CameraProperties\"\r\n : \"SceneProperties\",\r\n value: (<Scene>target)._isScene ? \"Scene\" : (<Node>target).name\r\n };\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.Action\", Action);\r\n"]}
|
package/Actions/actionManager.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { Vector3, Vector4 } from "../Maths/math.vector";
|
|
3
|
-
import { Color3, Color4 } from "../Maths/math.color";
|
|
4
|
-
import { Condition, ValueCondition } from "./condition";
|
|
5
|
-
import { Action } from "./action";
|
|
6
|
-
import { DoNothingAction } from "./directActions";
|
|
7
|
-
import { EngineStore } from "../Engines/engineStore";
|
|
8
|
-
import { Logger } from "../Misc/logger";
|
|
9
|
-
import { DeepCopier } from "../Misc/deepCopier";
|
|
10
|
-
import {
|
|
11
|
-
import { AbstractActionManager } from './abstractActionManager';
|
|
2
|
+
import { Vector3, Vector4 } from "../Maths/math.vector.js";
|
|
3
|
+
import { Color3, Color4 } from "../Maths/math.color.js";
|
|
4
|
+
import { Condition, ValueCondition } from "./condition.js";
|
|
5
|
+
import { Action } from "./action.js";
|
|
6
|
+
import { DoNothingAction } from "./directActions.js";
|
|
7
|
+
import { EngineStore } from "../Engines/engineStore.js";
|
|
8
|
+
import { Logger } from "../Misc/logger.js";
|
|
9
|
+
import { DeepCopier } from "../Misc/deepCopier.js";
|
|
10
|
+
import { GetClass } from "../Misc/typeStore.js";
|
|
11
|
+
import { AbstractActionManager } from './abstractActionManager.js';
|
|
12
12
|
/**
|
|
13
13
|
* Action Manager manages all events to be triggered on a given mesh or the global scene.
|
|
14
14
|
* A single scene can have many Action Managers to handle predefined actions on specific meshes.
|
|
@@ -276,7 +276,7 @@ var ActionManager = /** @class */ (function (_super) {
|
|
|
276
276
|
}
|
|
277
277
|
// instanciate a new object
|
|
278
278
|
var instanciate = function (name, params) {
|
|
279
|
-
var internalClassType =
|
|
279
|
+
var internalClassType = GetClass("BABYLON." + name);
|
|
280
280
|
if (internalClassType) {
|
|
281
281
|
var newInstance = Object.create(internalClassType.prototype);
|
|
282
282
|
newInstance.constructor.apply(newInstance, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionManager.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/actionManager.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,EAAW,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;GAIG;AACH;IAAmC,iCAAqB;IAyGpD;;;OAGG;IACH,uBAAY,KAAY;QAAxB,YACI,iBAAO,SAIV;QAHG,KAAI,CAAC,MAAM,GAAG,KAAK,IAAI,WAAW,CAAC,gBAAgB,CAAC;QAEpD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACpC,CAAC;IAED,UAAU;IAEV;;OAEG;IACI,+BAAO,GAAd;QACI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACjD;SACJ;QAED,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;OAGG;IACI,gCAAQ,GAAf;QACI,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,2CAAmB,GAA1B,UAA2B,QAAkB;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,4CAAoB,GAA3B,UAA4B,QAAgB,EAAE,QAAgB;QAC1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;gBAC1D,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,0CAAkB,GAAzB,UAA0B,OAAe,EAAE,kBAAgD;QACvF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC5B,IAAI,kBAAkB,EAAE;oBACpB,IAAI,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE;wBAClD,OAAO,IAAI,CAAC;qBACf;iBACJ;qBAAM;oBACH,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAKD,sBAAW,6CAAkB;QAH7B;;WAEG;aACH;YACI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,mBAAmB,EAAE;oBACtG,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;;;OAAA;IAKD,sBAAW,0CAAe;QAH1B;;WAEG;aACH;YACI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,eAAe,EAAE;oBAClG,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;;;OAAA;IAED;;;;OAIG;IACI,sCAAc,GAArB,UAAsB,MAAe;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,mBAAmB,EAAE;YACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,KAAK,IAAI,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACxC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5C;aACI;YACD,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC9C;QAED,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,wCAAgB,GAAvB,UAAwB,MAAe;QACnC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9B,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACjD;YACD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,sCAAc,GAArB,UAAsB,OAAe,EAAE,GAAkB;QACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC5B,IAAI,GAAG,EAAE;oBACL,IAAI,OAAO,KAAK,aAAa,CAAC,cAAc;2BACrC,OAAO,KAAK,aAAa,CAAC,gBAAgB,EAAE;wBAC/C,IAAI,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;wBAE7C,IAAI,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE;4BACpD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gCACxB,SAAS;6BACZ;4BACD,IAAI,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;4BAExC,IAAI,SAAS,KAAK,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE;gCACnC,IAAI,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;gCAC5F,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;gCAC3D,IAAI,SAAS,KAAK,SAAS,EAAE;oCACzB,SAAS;iCACZ;6BACJ;yBACJ;qBACJ;iBACJ;gBAED,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAC/B;SACJ;IACL,CAAC;IAED,cAAc;IACP,2CAAmB,GAA1B,UAA2B,MAAW,EAAE,YAAoB;QACxD,IAAI,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;YACxD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;SACtC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,cAAc;IACP,oCAAY,GAAnB,UAAoB,YAAoB;QACpC,IAAI,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,iCAAS,GAAhB,UAAiB,IAAY;QACzB,IAAI,IAAI,GAAG;YACP,QAAQ,EAAE,IAAI,KAAK,EAAE;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC,8BAA8B;SACzD,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,aAAa,GAAG;gBAChB,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI,KAAK,EAAE;gBACrB,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,UAAU,EAAE,IAAI,KAAK,EAAE;aAC1B,CAAC;YAEF,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAEpD,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;gBACtD,IAAI,cAAc,CAAC,SAAS,YAAY,IAAI,EAAE;oBAC1C,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;iBACtF;qBACI;oBACD,IAAI,SAAS,GAAQ,EAAE,CAAC;oBACxB,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBAEnE,IAAI,cAAc,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE;wBAC3D,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBACxD;oBAED,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;iBAC5F;aACJ;YAED,sCAAsC;YACtC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEzC,yBAAyB;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACrC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACW,mBAAK,GAAnB,UAAoB,aAAkB,EAAE,MAA8B,EAAE,KAAY;QAChF,IAAI,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;SACvC;aACI;YACD,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;SACxC;QAED,2BAA2B;QAC3B,IAAI,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;YAC/C,IAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;YACjE,IAAI,iBAAiB,EAAE;gBACnB,IAAI,WAAW,GAAW,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACrE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACnD,OAAO,WAAW,CAAC;aACtB;QACL,CAAC,CAAC;QAEF,IAAI,cAAc,GAAG,UAAC,IAAY,EAAE,KAAa,EAAE,MAAW,EAAE,YAA8B;YAC1F,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,2BAA2B;gBAC3B,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEnC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE;oBACvC,OAAO,KAAK,KAAK,MAAM,CAAC;iBAC3B;qBACI;oBACD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;iBACjD;aACJ;YAED,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9B,uBAAuB;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;YAED,yCAAyC;YACzC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;gBAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;aAC/B;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;gBAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;aACpB;YAED,uDAAuD;YACvD,IAAI,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;YAED,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC3B,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC3B,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,IAAI,MAAM,YAAY,MAAM,EAAE;gBAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAClC;YAED,IAAI,MAAM,YAAY,MAAM,EAAE;gBAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAClC;YAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,6BAA6B;QAC7B,IAAI,QAAQ,GAAG,UAAC,YAAiB,EAAE,OAAY,EAAE,SAA8B,EAAE,MAAwB,EAAE,YAA4C;YAA5C,6BAAA,EAAA,mBAA4C;YACnJ,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACvB,OAAO;aACV;YAED,IAAI,UAAU,GAAG,IAAI,KAAK,EAAO,CAAC;YAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;YACvB,IAAI,YAAY,GAAqB,IAAI,CAAC;YAC1C,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAEtE,aAAa;YACb,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE;gBACzB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAClC;iBACI;gBACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;YAED,IAAI,OAAO,EAAE;gBACT,IAAI,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClD,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBAC/F;gBACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;iBACI;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrD,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC7C,IAAI,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3C,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAEvD,IAAI,IAAI,KAAK,QAAQ,EAAE;wBACnB,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,iBAAiB,EAAE;4BACzD,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;yBAC1B;6BACI;4BACD,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;yBAC/C;qBACJ;yBACI,IAAI,IAAI,KAAK,QAAQ,EAAE;wBACxB,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;qBACtC;yBACI,IAAI,IAAI,KAAK,OAAO,EAAE;wBACvB,iFAAiF;wBACjF,IAAI,KAAK,CAAC,cAAc,EAAE;4BACtB,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;yBACvC;qBACJ;yBACI,IAAI,IAAI,KAAK,cAAc,EAAE;wBAC9B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE;4BAChD,KAAK,GAAS,cAAe,CAAC,KAAK,CAAC,CAAC;yBACxC;6BACI;4BACD,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;yBACvF;qBACJ;yBAAM;wBACH,YAAY,GAAG,KAAK,CAAC;qBACxB;oBAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1B;aACJ;YAED,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;iBACI;gBACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,8BAA8B;YAC9B,IAAI,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE;gBAChD,IAAI,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9C,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC1C,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;aACjD;YAED,+CAA+C;YAC/C,IAAI,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE3D,IAAI,SAAS,YAAY,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;gBACtD,IAAI,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAEtD,IAAI,MAAM,EAAE;oBACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;qBACI;oBACD,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;iBACzC;gBAED,MAAM,GAAG,OAAO,CAAC;aACpB;YAED,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,IAAI,SAAS,YAAY,SAAS,EAAE;oBAChC,SAAS,GAAG,SAAS,CAAC;oBACtB,SAAS,GAAG,MAAM,CAAC;iBACtB;qBAAM;oBACH,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,MAAM,EAAE;wBACR,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC1B;yBACI;wBACD,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;qBAC3C;iBACJ;aACJ;iBACI;gBACD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAChC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aAC3E;QACL,CAAC,CAAC;QAEF,WAAW;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,aAAkB,CAAC;YACvB,IAAI,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAE3F,IAAI,KAAK,CAAC,OAAO,EAAE;oBACf,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBACjD;gBAED,aAAa,GAAG,EAAE,OAAO,EAAQ,aAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;aACrF;iBACI;gBACD,aAAa,GAAS,aAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACtD;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACnB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC5D;aACJ;SACJ;IACL,CAAC;IAED;;;;OAIG;IACW,4BAAc,GAA5B,UAA6B,OAAe;QACxC,QAAQ,OAAO,EAAE;YACb,KAAK,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;YAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC;YACnC,KAAK,CAAC,CAAC,CAAC,OAAO,oBAAoB,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,OAAO,qBAAqB,CAAC;YACrC,KAAK,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC;YACnC,KAAK,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,OAAO,oBAAoB,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,OAAO,sBAAsB,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,OAAO,qBAAqB,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,OAAO,qBAAqB,CAAC;YACtC,KAAK,EAAE,CAAC,CAAC,OAAO,4BAA4B,CAAC;YAC7C,KAAK,EAAE,CAAC,CAAC,OAAO,2BAA2B,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,OAAO,kBAAkB,CAAC;YACnC,KAAK,EAAE,CAAC,CAAC,OAAO,gBAAgB,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,OAAO,kBAAkB,CAAC;YACnC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SACtB;IACL,CAAC;IA1nBD;;;OAGG;IACoB,4BAAc,GAAG,CAAC,CAAC;IAE1C;;;OAGG;IACoB,2BAAa,GAAG,CAAC,CAAC;IAEzC;;;OAGG;IACoB,+BAAiB,GAAG,CAAC,CAAC;IAE7C;;;OAGG;IACoB,gCAAkB,GAAG,CAAC,CAAC;IAE9C;;;OAGG;IACoB,iCAAmB,GAAG,CAAC,CAAC;IAE/C;;;OAGG;IACoB,+BAAiB,GAAG,CAAC,CAAC;IAE7C;;;OAGG;IACoB,iCAAmB,GAAG,CAAC,CAAC;IAE/C;;;OAGG;IACoB,6BAAe,GAAG,CAAC,CAAC;IAC3C;;;;OAIG;IACoB,8BAAgB,GAAG,EAAE,CAAC;IAE7C;;;OAGG;IACoB,gCAAkB,GAAG,CAAC,CAAC;IAE9C;;;OAGG;IACoB,kCAAoB,GAAG,CAAC,CAAC;IAEhD;;;OAGG;IACoB,iCAAmB,GAAG,EAAE,CAAC;IAEhD;;;OAGG;IACoB,iCAAmB,GAAG,EAAE,CAAC;IAChD;;;OAGG;IACoB,wCAA0B,GAAG,EAAE,CAAC;IAEvD;;;OAGG;IACoB,uCAAyB,GAAG,EAAE,CAAC;IAEtD;;;OAGG;IACoB,8BAAgB,GAAG,EAAE,CAAC;IAE7C;;;OAGG;IACoB,4BAAc,GAAG,EAAE,CAAC;IAwhB/C,oBAAC;CAAA,AA5nBD,CAAmC,qBAAqB,GA4nBvD;SA5nBY,aAAa","sourcesContent":["import { Nullable } from \"../types\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Scene } from \"../scene\";\r\nimport { Vector3, Vector4 } from \"../Maths/math.vector\";\r\nimport { Color3, Color4 } from \"../Maths/math.color\";\r\nimport { Condition, ValueCondition } from \"./condition\";\r\nimport { Action, IAction } from \"./action\";\r\nimport { DoNothingAction } from \"./directActions\";\r\n\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { IActionEvent } from \"../Actions/actionEvent\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { _TypeStore } from \"../Misc/typeStore\";\r\nimport { AbstractActionManager } from './abstractActionManager';\r\n\r\n\r\n/**\r\n * Action Manager manages all events to be triggered on a given mesh or the global scene.\r\n * A single scene can have many Action Managers to handle predefined actions on specific meshes.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class ActionManager extends AbstractActionManager {\r\n /**\r\n * Nothing\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly NothingTrigger = 0;\r\n\r\n /**\r\n * On pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickTrigger = 1;\r\n\r\n /**\r\n * On left pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnLeftPickTrigger = 2;\r\n\r\n /**\r\n * On right pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnRightPickTrigger = 3;\r\n\r\n /**\r\n * On center pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnCenterPickTrigger = 4;\r\n\r\n /**\r\n * On pick down\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickDownTrigger = 5;\r\n\r\n /**\r\n * On double pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnDoublePickTrigger = 6;\r\n\r\n /**\r\n * On pick up\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickUpTrigger = 7;\r\n /**\r\n * On pick out.\r\n * This trigger will only be raised if you also declared a OnPickDown\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickOutTrigger = 16;\r\n\r\n /**\r\n * On long press\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnLongPressTrigger = 8;\r\n\r\n /**\r\n * On pointer over\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPointerOverTrigger = 9;\r\n\r\n /**\r\n * On pointer out\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPointerOutTrigger = 10;\r\n\r\n /**\r\n * On every frame\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnEveryFrameTrigger = 11;\r\n /**\r\n * On intersection enter\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnIntersectionEnterTrigger = 12;\r\n\r\n /**\r\n * On intersection exit\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnIntersectionExitTrigger = 13;\r\n\r\n /**\r\n * On key down\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnKeyDownTrigger = 14;\r\n\r\n /**\r\n * On key up\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnKeyUpTrigger = 15;\r\n\r\n // Members\r\n private _scene: Scene;\r\n\r\n /**\r\n * Creates a new action manager\r\n * @param scene defines the hosting scene\r\n */\r\n constructor(scene: Scene) {\r\n super();\r\n this._scene = scene || EngineStore.LastCreatedScene;\r\n\r\n scene.actionManagers.push(this);\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Releases all associated resources\r\n */\r\n public dispose(): void {\r\n var index = this._scene.actionManagers.indexOf(this);\r\n\r\n for (var i = 0; i < this.actions.length; i++) {\r\n var action = this.actions[i];\r\n ActionManager.Triggers[action.trigger]--;\r\n if (ActionManager.Triggers[action.trigger] === 0) {\r\n delete ActionManager.Triggers[action.trigger];\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n this._scene.actionManagers.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * Gets hosting scene\r\n * @returns the hosting scene\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Does this action manager handles actions of any of the given triggers\r\n * @param triggers defines the triggers to be tested\r\n * @return a boolean indicating whether one (or more) of the triggers is handled\r\n */\r\n public hasSpecificTriggers(triggers: number[]): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (triggers.indexOf(action.trigger) > -1) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager handles actions of any of the given triggers. This function takes two arguments for\r\n * speed.\r\n * @param triggerA defines the trigger to be tested\r\n * @param triggerB defines the trigger to be tested\r\n * @return a boolean indicating whether one (or more) of the triggers is handled\r\n */\r\n public hasSpecificTriggers2(triggerA: number, triggerB: number): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (triggerA == action.trigger || triggerB == action.trigger) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager handles actions of a given trigger\r\n * @param trigger defines the trigger to be tested\r\n * @param parameterPredicate defines an optional predicate to filter triggers by parameter\r\n * @return whether the trigger is handled\r\n */\r\n public hasSpecificTrigger(trigger: number, parameterPredicate?: (parameter: any) => boolean): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger === trigger) {\r\n if (parameterPredicate) {\r\n if (parameterPredicate(action.getTriggerParameter())) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager has pointer triggers\r\n */\r\n public get hasPointerTriggers(): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger >= ActionManager.OnPickTrigger && action.trigger <= ActionManager.OnPointerOutTrigger) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager has pick triggers\r\n */\r\n public get hasPickTriggers(): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger >= ActionManager.OnPickTrigger && action.trigger <= ActionManager.OnPickUpTrigger) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Registers an action to this action manager\r\n * @param action defines the action to be registered\r\n * @return the action amended (prepared) after registration\r\n */\r\n public registerAction(action: IAction): Nullable<IAction> {\r\n if (action.trigger === ActionManager.OnEveryFrameTrigger) {\r\n if (this.getScene().actionManager !== this) {\r\n Logger.Warn(\"OnEveryFrameTrigger can only be used with scene.actionManager\");\r\n return null;\r\n }\r\n }\r\n\r\n this.actions.push(action);\r\n\r\n if (ActionManager.Triggers[action.trigger]) {\r\n ActionManager.Triggers[action.trigger]++;\r\n }\r\n else {\r\n ActionManager.Triggers[action.trigger] = 1;\r\n }\r\n\r\n action._actionManager = this;\r\n action._prepare();\r\n\r\n return action;\r\n }\r\n\r\n /**\r\n * Unregisters an action to this action manager\r\n * @param action defines the action to be unregistered\r\n * @return a boolean indicating whether the action has been unregistered\r\n */\r\n public unregisterAction(action: IAction): Boolean {\r\n var index = this.actions.indexOf(action);\r\n if (index !== -1) {\r\n this.actions.splice(index, 1);\r\n ActionManager.Triggers[action.trigger] -= 1;\r\n if (ActionManager.Triggers[action.trigger] === 0) {\r\n delete ActionManager.Triggers[action.trigger];\r\n }\r\n action._actionManager = null;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Process a specific trigger\r\n * @param trigger defines the trigger to process\r\n * @param evt defines the event details to be processed\r\n */\r\n public processTrigger(trigger: number, evt?: IActionEvent): void {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger === trigger) {\r\n if (evt) {\r\n if (trigger === ActionManager.OnKeyUpTrigger\r\n || trigger === ActionManager.OnKeyDownTrigger) {\r\n var parameter = action.getTriggerParameter();\r\n\r\n if (parameter && parameter !== evt.sourceEvent.keyCode) {\r\n if (!parameter.toLowerCase) {\r\n continue;\r\n }\r\n var lowerCase = parameter.toLowerCase();\r\n\r\n if (lowerCase !== evt.sourceEvent.key) {\r\n var unicode = evt.sourceEvent.charCode ? evt.sourceEvent.charCode : evt.sourceEvent.keyCode;\r\n var actualkey = String.fromCharCode(unicode).toLowerCase();\r\n if (actualkey !== lowerCase) {\r\n continue;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n action._executeCurrent(evt);\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _getEffectiveTarget(target: any, propertyPath: string): any {\r\n var properties = propertyPath.split(\".\");\r\n\r\n for (var index = 0; index < properties.length - 1; index++) {\r\n target = target[properties[index]];\r\n }\r\n\r\n return target;\r\n }\r\n\r\n /** @hidden */\r\n public _getProperty(propertyPath: string): string {\r\n var properties = propertyPath.split(\".\");\r\n\r\n return properties[properties.length - 1];\r\n }\r\n\r\n /**\r\n * Serialize this manager to a JSON object\r\n * @param name defines the property name to store this manager\r\n * @returns a JSON representation of this manager\r\n */\r\n public serialize(name: string): any {\r\n var root = {\r\n children: new Array(),\r\n name: name,\r\n type: 3, // Root node\r\n properties: new Array() // Empty for root but required\r\n };\r\n\r\n for (var i = 0; i < this.actions.length; i++) {\r\n var triggerObject = {\r\n type: 0, // Trigger\r\n children: new Array(),\r\n name: ActionManager.GetTriggerName(this.actions[i].trigger),\r\n properties: new Array()\r\n };\r\n\r\n var triggerOptions = this.actions[i].triggerOptions;\r\n\r\n if (triggerOptions && typeof triggerOptions !== \"number\") {\r\n if (triggerOptions.parameter instanceof Node) {\r\n triggerObject.properties.push(Action._GetTargetProperty(triggerOptions.parameter));\r\n }\r\n else {\r\n var parameter = <any>{};\r\n DeepCopier.DeepCopy(triggerOptions.parameter, parameter, [\"mesh\"]);\r\n\r\n if (triggerOptions.parameter && triggerOptions.parameter.mesh) {\r\n parameter._meshId = triggerOptions.parameter.mesh.id;\r\n }\r\n\r\n triggerObject.properties.push({ name: \"parameter\", targetType: null, value: parameter });\r\n }\r\n }\r\n\r\n // Serialize child action, recursively\r\n this.actions[i].serialize(triggerObject);\r\n\r\n // Add serialized trigger\r\n root.children.push(triggerObject);\r\n }\r\n\r\n return root;\r\n }\r\n\r\n /**\r\n * Creates a new ActionManager from a JSON data\r\n * @param parsedActions defines the JSON data to read from\r\n * @param object defines the hosting mesh\r\n * @param scene defines the hosting scene\r\n */\r\n public static Parse(parsedActions: any, object: Nullable<AbstractMesh>, scene: Scene): void {\r\n var actionManager = new ActionManager(scene);\r\n if (object === null) {\r\n scene.actionManager = actionManager;\r\n }\r\n else {\r\n object.actionManager = actionManager;\r\n }\r\n\r\n // instanciate a new object\r\n var instanciate = (name: string, params: Array<any>): any => {\r\n const internalClassType = _TypeStore.GetClass(\"BABYLON.\" + name);\r\n if (internalClassType) {\r\n var newInstance: Object = Object.create(internalClassType.prototype);\r\n newInstance.constructor.apply(newInstance, params);\r\n return newInstance;\r\n }\r\n };\r\n\r\n var parseParameter = (name: string, value: string, target: any, propertyPath: Nullable<string>): any => {\r\n if (propertyPath === null) {\r\n // String, boolean or float\r\n var floatValue = parseFloat(value);\r\n\r\n if (value === \"true\" || value === \"false\") {\r\n return value === \"true\";\r\n }\r\n else {\r\n return isNaN(floatValue) ? value : floatValue;\r\n }\r\n }\r\n\r\n var effectiveTarget = propertyPath.split(\".\");\r\n var values = value.split(\",\");\r\n\r\n // Get effective Target\r\n for (var i = 0; i < effectiveTarget.length; i++) {\r\n target = target[effectiveTarget[i]];\r\n }\r\n\r\n // Return appropriate value with its type\r\n if (typeof (target) === \"boolean\") {\r\n return values[0] === \"true\";\r\n }\r\n\r\n if (typeof (target) === \"string\") {\r\n return values[0];\r\n }\r\n\r\n // Parameters with multiple values such as Vector3 etc.\r\n var split = new Array<number>();\r\n for (var i = 0; i < values.length; i++) {\r\n split.push(parseFloat(values[i]));\r\n }\r\n\r\n if (target instanceof Vector3) {\r\n return Vector3.FromArray(split);\r\n }\r\n\r\n if (target instanceof Vector4) {\r\n return Vector4.FromArray(split);\r\n }\r\n\r\n if (target instanceof Color3) {\r\n return Color3.FromArray(split);\r\n }\r\n\r\n if (target instanceof Color4) {\r\n return Color4.FromArray(split);\r\n }\r\n\r\n return parseFloat(values[0]);\r\n };\r\n\r\n // traverse graph per trigger\r\n var traverse = (parsedAction: any, trigger: any, condition: Nullable<Condition>, action: Nullable<Action>, combineArray: Nullable<Array<Action>> = null) => {\r\n if (parsedAction.detached) {\r\n return;\r\n }\r\n\r\n var parameters = new Array<any>();\r\n var target: any = null;\r\n var propertyPath: Nullable<string> = null;\r\n var combine = parsedAction.combine && parsedAction.combine.length > 0;\r\n\r\n // Parameters\r\n if (parsedAction.type === 2) {\r\n parameters.push(actionManager);\r\n }\r\n else {\r\n parameters.push(trigger);\r\n }\r\n\r\n if (combine) {\r\n var actions = new Array<Action>();\r\n for (var j = 0; j < parsedAction.combine.length; j++) {\r\n traverse(parsedAction.combine[j], ActionManager.NothingTrigger, condition, action, actions);\r\n }\r\n parameters.push(actions);\r\n }\r\n else {\r\n for (var i = 0; i < parsedAction.properties.length; i++) {\r\n var value = parsedAction.properties[i].value;\r\n var name = parsedAction.properties[i].name;\r\n var targetType = parsedAction.properties[i].targetType;\r\n\r\n if (name === \"target\") {\r\n if (targetType !== null && targetType === \"SceneProperties\") {\r\n value = target = scene;\r\n }\r\n else {\r\n value = target = scene.getNodeByName(value);\r\n }\r\n }\r\n else if (name === \"parent\") {\r\n value = scene.getNodeByName(value);\r\n }\r\n else if (name === \"sound\") {\r\n // Can not externalize to component, so only checks for the presence off the API.\r\n if (scene.getSoundByName) {\r\n value = scene.getSoundByName(value);\r\n }\r\n }\r\n else if (name !== \"propertyPath\") {\r\n if (parsedAction.type === 2 && name === \"operator\") {\r\n value = (<any>ValueCondition)[value];\r\n }\r\n else {\r\n value = parseParameter(name, value, target, name === \"value\" ? propertyPath : null);\r\n }\r\n } else {\r\n propertyPath = value;\r\n }\r\n\r\n parameters.push(value);\r\n }\r\n }\r\n\r\n if (combineArray === null) {\r\n parameters.push(condition);\r\n }\r\n else {\r\n parameters.push(null);\r\n }\r\n\r\n // If interpolate value action\r\n if (parsedAction.name === \"InterpolateValueAction\") {\r\n var param = parameters[parameters.length - 2];\r\n parameters[parameters.length - 1] = param;\r\n parameters[parameters.length - 2] = condition;\r\n }\r\n\r\n // Action or condition(s) and not CombineAction\r\n var newAction = instanciate(parsedAction.name, parameters);\r\n\r\n if (newAction instanceof Condition && condition !== null) {\r\n var nothing = new DoNothingAction(trigger, condition);\r\n\r\n if (action) {\r\n action.then(nothing);\r\n }\r\n else {\r\n actionManager.registerAction(nothing);\r\n }\r\n\r\n action = nothing;\r\n }\r\n\r\n if (combineArray === null) {\r\n if (newAction instanceof Condition) {\r\n condition = newAction;\r\n newAction = action;\r\n } else {\r\n condition = null;\r\n if (action) {\r\n action.then(newAction);\r\n }\r\n else {\r\n actionManager.registerAction(newAction);\r\n }\r\n }\r\n }\r\n else {\r\n combineArray.push(newAction);\r\n }\r\n\r\n for (var i = 0; i < parsedAction.children.length; i++) {\r\n traverse(parsedAction.children[i], trigger, condition, newAction, null);\r\n }\r\n };\r\n\r\n // triggers\r\n for (var i = 0; i < parsedActions.children.length; i++) {\r\n var triggerParams: any;\r\n var trigger = parsedActions.children[i];\r\n\r\n if (trigger.properties.length > 0) {\r\n var param = trigger.properties[0].value;\r\n var value = trigger.properties[0].targetType === null ? param : scene.getMeshByName(param);\r\n\r\n if (value._meshId) {\r\n value.mesh = scene.getMeshById(value._meshId);\r\n }\r\n\r\n triggerParams = { trigger: (<any>ActionManager)[trigger.name], parameter: value };\r\n }\r\n else {\r\n triggerParams = (<any>ActionManager)[trigger.name];\r\n }\r\n\r\n for (var j = 0; j < trigger.children.length; j++) {\r\n if (!trigger.detached) {\r\n traverse(trigger.children[j], triggerParams, null, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get a trigger name by index\r\n * @param trigger defines the trigger index\r\n * @returns a trigger name\r\n */\r\n public static GetTriggerName(trigger: number): string {\r\n switch (trigger) {\r\n case 0: return \"NothingTrigger\";\r\n case 1: return \"OnPickTrigger\";\r\n case 2: return \"OnLeftPickTrigger\";\r\n case 3: return \"OnRightPickTrigger\";\r\n case 4: return \"OnCenterPickTrigger\";\r\n case 5: return \"OnPickDownTrigger\";\r\n case 6: return \"OnPickUpTrigger\";\r\n case 7: return \"OnLongPressTrigger\";\r\n case 8: return \"OnPointerOverTrigger\";\r\n case 9: return \"OnPointerOutTrigger\";\r\n case 10: return \"OnEveryFrameTrigger\";\r\n case 11: return \"OnIntersectionEnterTrigger\";\r\n case 12: return \"OnIntersectionExitTrigger\";\r\n case 13: return \"OnKeyDownTrigger\";\r\n case 14: return \"OnKeyUpTrigger\";\r\n case 15: return \"OnPickOutTrigger\";\r\n default: return \"\";\r\n }\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"actionManager.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/actionManager.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,EAAW,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;GAIG;AACH;IAAmC,iCAAqB;IAyGpD;;;OAGG;IACH,uBAAY,KAAY;QAAxB,YACI,iBAAO,SAIV;QAHG,KAAI,CAAC,MAAM,GAAG,KAAK,IAAI,WAAW,CAAC,gBAAgB,CAAC;QAEpD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACpC,CAAC;IAED,UAAU;IAEV;;OAEG;IACI,+BAAO,GAAd;QACI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACjD;SACJ;QAED,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;OAGG;IACI,gCAAQ,GAAf;QACI,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,2CAAmB,GAA1B,UAA2B,QAAkB;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,4CAAoB,GAA3B,UAA4B,QAAgB,EAAE,QAAgB;QAC1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;gBAC1D,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,0CAAkB,GAAzB,UAA0B,OAAe,EAAE,kBAAgD;QACvF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC5B,IAAI,kBAAkB,EAAE;oBACpB,IAAI,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE;wBAClD,OAAO,IAAI,CAAC;qBACf;iBACJ;qBAAM;oBACH,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAKD,sBAAW,6CAAkB;QAH7B;;WAEG;aACH;YACI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,mBAAmB,EAAE;oBACtG,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;;;OAAA;IAKD,sBAAW,0CAAe;QAH1B;;WAEG;aACH;YACI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,eAAe,EAAE;oBAClG,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;;;OAAA;IAED;;;;OAIG;IACI,sCAAc,GAArB,UAAsB,MAAe;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,mBAAmB,EAAE;YACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,KAAK,IAAI,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACxC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5C;aACI;YACD,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC9C;QAED,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,wCAAgB,GAAvB,UAAwB,MAAe;QACnC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9B,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACjD;YACD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,sCAAc,GAArB,UAAsB,OAAe,EAAE,GAAkB;QACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC5B,IAAI,GAAG,EAAE;oBACL,IAAI,OAAO,KAAK,aAAa,CAAC,cAAc;2BACrC,OAAO,KAAK,aAAa,CAAC,gBAAgB,EAAE;wBAC/C,IAAI,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;wBAE7C,IAAI,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE;4BACpD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gCACxB,SAAS;6BACZ;4BACD,IAAI,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;4BAExC,IAAI,SAAS,KAAK,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE;gCACnC,IAAI,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;gCAC5F,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;gCAC3D,IAAI,SAAS,KAAK,SAAS,EAAE;oCACzB,SAAS;iCACZ;6BACJ;yBACJ;qBACJ;iBACJ;gBAED,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAC/B;SACJ;IACL,CAAC;IAED,cAAc;IACP,2CAAmB,GAA1B,UAA2B,MAAW,EAAE,YAAoB;QACxD,IAAI,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;YACxD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;SACtC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,cAAc;IACP,oCAAY,GAAnB,UAAoB,YAAoB;QACpC,IAAI,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,iCAAS,GAAhB,UAAiB,IAAY;QACzB,IAAI,IAAI,GAAG;YACP,QAAQ,EAAE,IAAI,KAAK,EAAE;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC,8BAA8B;SACzD,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,aAAa,GAAG;gBAChB,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI,KAAK,EAAE;gBACrB,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3D,UAAU,EAAE,IAAI,KAAK,EAAE;aAC1B,CAAC;YAEF,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAEpD,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;gBACtD,IAAI,cAAc,CAAC,SAAS,YAAY,IAAI,EAAE;oBAC1C,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;iBACtF;qBACI;oBACD,IAAI,SAAS,GAAQ,EAAE,CAAC;oBACxB,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBAEnE,IAAI,cAAc,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE;wBAC3D,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBACxD;oBAED,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;iBAC5F;aACJ;YAED,sCAAsC;YACtC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEzC,yBAAyB;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACrC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACW,mBAAK,GAAnB,UAAoB,aAAkB,EAAE,MAA8B,EAAE,KAAY;QAChF,IAAI,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;SACvC;aACI;YACD,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;SACxC;QAED,2BAA2B;QAC3B,IAAI,WAAW,GAAG,UAAC,IAAY,EAAE,MAAkB;YAC/C,IAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;YACtD,IAAI,iBAAiB,EAAE;gBACnB,IAAI,WAAW,GAAW,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACrE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACnD,OAAO,WAAW,CAAC;aACtB;QACL,CAAC,CAAC;QAEF,IAAI,cAAc,GAAG,UAAC,IAAY,EAAE,KAAa,EAAE,MAAW,EAAE,YAA8B;YAC1F,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,2BAA2B;gBAC3B,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEnC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE;oBACvC,OAAO,KAAK,KAAK,MAAM,CAAC;iBAC3B;qBACI;oBACD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;iBACjD;aACJ;YAED,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9B,uBAAuB;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;YAED,yCAAyC;YACzC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;gBAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;aAC/B;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;gBAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;aACpB;YAED,uDAAuD;YACvD,IAAI,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;YAED,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC3B,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC3B,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,IAAI,MAAM,YAAY,MAAM,EAAE;gBAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAClC;YAED,IAAI,MAAM,YAAY,MAAM,EAAE;gBAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAClC;YAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,6BAA6B;QAC7B,IAAI,QAAQ,GAAG,UAAC,YAAiB,EAAE,OAAY,EAAE,SAA8B,EAAE,MAAwB,EAAE,YAA4C;YAA5C,6BAAA,EAAA,mBAA4C;YACnJ,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACvB,OAAO;aACV;YAED,IAAI,UAAU,GAAG,IAAI,KAAK,EAAO,CAAC;YAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;YACvB,IAAI,YAAY,GAAqB,IAAI,CAAC;YAC1C,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAEtE,aAAa;YACb,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE;gBACzB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAClC;iBACI;gBACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;YAED,IAAI,OAAO,EAAE;gBACT,IAAI,OAAO,GAAG,IAAI,KAAK,EAAU,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClD,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBAC/F;gBACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;iBACI;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrD,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC7C,IAAI,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3C,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAEvD,IAAI,IAAI,KAAK,QAAQ,EAAE;wBACnB,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,iBAAiB,EAAE;4BACzD,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;yBAC1B;6BACI;4BACD,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;yBAC/C;qBACJ;yBACI,IAAI,IAAI,KAAK,QAAQ,EAAE;wBACxB,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;qBACtC;yBACI,IAAI,IAAI,KAAK,OAAO,EAAE;wBACvB,iFAAiF;wBACjF,IAAI,KAAK,CAAC,cAAc,EAAE;4BACtB,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;yBACvC;qBACJ;yBACI,IAAI,IAAI,KAAK,cAAc,EAAE;wBAC9B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE;4BAChD,KAAK,GAAS,cAAe,CAAC,KAAK,CAAC,CAAC;yBACxC;6BACI;4BACD,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;yBACvF;qBACJ;yBAAM;wBACH,YAAY,GAAG,KAAK,CAAC;qBACxB;oBAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1B;aACJ;YAED,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;iBACI;gBACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,8BAA8B;YAC9B,IAAI,YAAY,CAAC,IAAI,KAAK,wBAAwB,EAAE;gBAChD,IAAI,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9C,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC1C,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;aACjD;YAED,+CAA+C;YAC/C,IAAI,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE3D,IAAI,SAAS,YAAY,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;gBACtD,IAAI,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAEtD,IAAI,MAAM,EAAE;oBACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;qBACI;oBACD,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;iBACzC;gBAED,MAAM,GAAG,OAAO,CAAC;aACpB;YAED,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,IAAI,SAAS,YAAY,SAAS,EAAE;oBAChC,SAAS,GAAG,SAAS,CAAC;oBACtB,SAAS,GAAG,MAAM,CAAC;iBACtB;qBAAM;oBACH,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,MAAM,EAAE;wBACR,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC1B;yBACI;wBACD,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;qBAC3C;iBACJ;aACJ;iBACI;gBACD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAChC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aAC3E;QACL,CAAC,CAAC;QAEF,WAAW;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,aAAkB,CAAC;YACvB,IAAI,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAE3F,IAAI,KAAK,CAAC,OAAO,EAAE;oBACf,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBACjD;gBAED,aAAa,GAAG,EAAE,OAAO,EAAQ,aAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;aACrF;iBACI;gBACD,aAAa,GAAS,aAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACtD;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACnB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC5D;aACJ;SACJ;IACL,CAAC;IAED;;;;OAIG;IACW,4BAAc,GAA5B,UAA6B,OAAe;QACxC,QAAQ,OAAO,EAAE;YACb,KAAK,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC;YAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC;YACnC,KAAK,CAAC,CAAC,CAAC,OAAO,oBAAoB,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,OAAO,qBAAqB,CAAC;YACrC,KAAK,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC;YACnC,KAAK,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,OAAO,oBAAoB,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,OAAO,sBAAsB,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,OAAO,qBAAqB,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,OAAO,qBAAqB,CAAC;YACtC,KAAK,EAAE,CAAC,CAAC,OAAO,4BAA4B,CAAC;YAC7C,KAAK,EAAE,CAAC,CAAC,OAAO,2BAA2B,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,OAAO,kBAAkB,CAAC;YACnC,KAAK,EAAE,CAAC,CAAC,OAAO,gBAAgB,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,OAAO,kBAAkB,CAAC;YACnC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SACtB;IACL,CAAC;IA1nBD;;;OAGG;IACoB,4BAAc,GAAG,CAAC,CAAC;IAE1C;;;OAGG;IACoB,2BAAa,GAAG,CAAC,CAAC;IAEzC;;;OAGG;IACoB,+BAAiB,GAAG,CAAC,CAAC;IAE7C;;;OAGG;IACoB,gCAAkB,GAAG,CAAC,CAAC;IAE9C;;;OAGG;IACoB,iCAAmB,GAAG,CAAC,CAAC;IAE/C;;;OAGG;IACoB,+BAAiB,GAAG,CAAC,CAAC;IAE7C;;;OAGG;IACoB,iCAAmB,GAAG,CAAC,CAAC;IAE/C;;;OAGG;IACoB,6BAAe,GAAG,CAAC,CAAC;IAC3C;;;;OAIG;IACoB,8BAAgB,GAAG,EAAE,CAAC;IAE7C;;;OAGG;IACoB,gCAAkB,GAAG,CAAC,CAAC;IAE9C;;;OAGG;IACoB,kCAAoB,GAAG,CAAC,CAAC;IAEhD;;;OAGG;IACoB,iCAAmB,GAAG,EAAE,CAAC;IAEhD;;;OAGG;IACoB,iCAAmB,GAAG,EAAE,CAAC;IAChD;;;OAGG;IACoB,wCAA0B,GAAG,EAAE,CAAC;IAEvD;;;OAGG;IACoB,uCAAyB,GAAG,EAAE,CAAC;IAEtD;;;OAGG;IACoB,8BAAgB,GAAG,EAAE,CAAC;IAE7C;;;OAGG;IACoB,4BAAc,GAAG,EAAE,CAAC;IAwhB/C,oBAAC;CAAA,AA5nBD,CAAmC,qBAAqB,GA4nBvD;SA5nBY,aAAa","sourcesContent":["import { Nullable } from \"../types\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Scene } from \"../scene\";\r\nimport { Vector3, Vector4 } from \"../Maths/math.vector\";\r\nimport { Color3, Color4 } from \"../Maths/math.color\";\r\nimport { Condition, ValueCondition } from \"./condition\";\r\nimport { Action, IAction } from \"./action\";\r\nimport { DoNothingAction } from \"./directActions\";\r\n\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { IActionEvent } from \"../Actions/actionEvent\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { GetClass } from \"../Misc/typeStore\";\r\nimport { AbstractActionManager } from './abstractActionManager';\r\n\r\n\r\n/**\r\n * Action Manager manages all events to be triggered on a given mesh or the global scene.\r\n * A single scene can have many Action Managers to handle predefined actions on specific meshes.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class ActionManager extends AbstractActionManager {\r\n /**\r\n * Nothing\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly NothingTrigger = 0;\r\n\r\n /**\r\n * On pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickTrigger = 1;\r\n\r\n /**\r\n * On left pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnLeftPickTrigger = 2;\r\n\r\n /**\r\n * On right pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnRightPickTrigger = 3;\r\n\r\n /**\r\n * On center pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnCenterPickTrigger = 4;\r\n\r\n /**\r\n * On pick down\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickDownTrigger = 5;\r\n\r\n /**\r\n * On double pick\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnDoublePickTrigger = 6;\r\n\r\n /**\r\n * On pick up\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickUpTrigger = 7;\r\n /**\r\n * On pick out.\r\n * This trigger will only be raised if you also declared a OnPickDown\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPickOutTrigger = 16;\r\n\r\n /**\r\n * On long press\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnLongPressTrigger = 8;\r\n\r\n /**\r\n * On pointer over\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPointerOverTrigger = 9;\r\n\r\n /**\r\n * On pointer out\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnPointerOutTrigger = 10;\r\n\r\n /**\r\n * On every frame\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnEveryFrameTrigger = 11;\r\n /**\r\n * On intersection enter\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnIntersectionEnterTrigger = 12;\r\n\r\n /**\r\n * On intersection exit\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnIntersectionExitTrigger = 13;\r\n\r\n /**\r\n * On key down\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnKeyDownTrigger = 14;\r\n\r\n /**\r\n * On key up\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions#triggers\r\n */\r\n public static readonly OnKeyUpTrigger = 15;\r\n\r\n // Members\r\n private _scene: Scene;\r\n\r\n /**\r\n * Creates a new action manager\r\n * @param scene defines the hosting scene\r\n */\r\n constructor(scene: Scene) {\r\n super();\r\n this._scene = scene || EngineStore.LastCreatedScene;\r\n\r\n scene.actionManagers.push(this);\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Releases all associated resources\r\n */\r\n public dispose(): void {\r\n var index = this._scene.actionManagers.indexOf(this);\r\n\r\n for (var i = 0; i < this.actions.length; i++) {\r\n var action = this.actions[i];\r\n ActionManager.Triggers[action.trigger]--;\r\n if (ActionManager.Triggers[action.trigger] === 0) {\r\n delete ActionManager.Triggers[action.trigger];\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n this._scene.actionManagers.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * Gets hosting scene\r\n * @returns the hosting scene\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Does this action manager handles actions of any of the given triggers\r\n * @param triggers defines the triggers to be tested\r\n * @return a boolean indicating whether one (or more) of the triggers is handled\r\n */\r\n public hasSpecificTriggers(triggers: number[]): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (triggers.indexOf(action.trigger) > -1) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager handles actions of any of the given triggers. This function takes two arguments for\r\n * speed.\r\n * @param triggerA defines the trigger to be tested\r\n * @param triggerB defines the trigger to be tested\r\n * @return a boolean indicating whether one (or more) of the triggers is handled\r\n */\r\n public hasSpecificTriggers2(triggerA: number, triggerB: number): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (triggerA == action.trigger || triggerB == action.trigger) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager handles actions of a given trigger\r\n * @param trigger defines the trigger to be tested\r\n * @param parameterPredicate defines an optional predicate to filter triggers by parameter\r\n * @return whether the trigger is handled\r\n */\r\n public hasSpecificTrigger(trigger: number, parameterPredicate?: (parameter: any) => boolean): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger === trigger) {\r\n if (parameterPredicate) {\r\n if (parameterPredicate(action.getTriggerParameter())) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager has pointer triggers\r\n */\r\n public get hasPointerTriggers(): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger >= ActionManager.OnPickTrigger && action.trigger <= ActionManager.OnPointerOutTrigger) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Does this action manager has pick triggers\r\n */\r\n public get hasPickTriggers(): boolean {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger >= ActionManager.OnPickTrigger && action.trigger <= ActionManager.OnPickUpTrigger) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Registers an action to this action manager\r\n * @param action defines the action to be registered\r\n * @return the action amended (prepared) after registration\r\n */\r\n public registerAction(action: IAction): Nullable<IAction> {\r\n if (action.trigger === ActionManager.OnEveryFrameTrigger) {\r\n if (this.getScene().actionManager !== this) {\r\n Logger.Warn(\"OnEveryFrameTrigger can only be used with scene.actionManager\");\r\n return null;\r\n }\r\n }\r\n\r\n this.actions.push(action);\r\n\r\n if (ActionManager.Triggers[action.trigger]) {\r\n ActionManager.Triggers[action.trigger]++;\r\n }\r\n else {\r\n ActionManager.Triggers[action.trigger] = 1;\r\n }\r\n\r\n action._actionManager = this;\r\n action._prepare();\r\n\r\n return action;\r\n }\r\n\r\n /**\r\n * Unregisters an action to this action manager\r\n * @param action defines the action to be unregistered\r\n * @return a boolean indicating whether the action has been unregistered\r\n */\r\n public unregisterAction(action: IAction): Boolean {\r\n var index = this.actions.indexOf(action);\r\n if (index !== -1) {\r\n this.actions.splice(index, 1);\r\n ActionManager.Triggers[action.trigger] -= 1;\r\n if (ActionManager.Triggers[action.trigger] === 0) {\r\n delete ActionManager.Triggers[action.trigger];\r\n }\r\n action._actionManager = null;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Process a specific trigger\r\n * @param trigger defines the trigger to process\r\n * @param evt defines the event details to be processed\r\n */\r\n public processTrigger(trigger: number, evt?: IActionEvent): void {\r\n for (var index = 0; index < this.actions.length; index++) {\r\n var action = this.actions[index];\r\n\r\n if (action.trigger === trigger) {\r\n if (evt) {\r\n if (trigger === ActionManager.OnKeyUpTrigger\r\n || trigger === ActionManager.OnKeyDownTrigger) {\r\n var parameter = action.getTriggerParameter();\r\n\r\n if (parameter && parameter !== evt.sourceEvent.keyCode) {\r\n if (!parameter.toLowerCase) {\r\n continue;\r\n }\r\n var lowerCase = parameter.toLowerCase();\r\n\r\n if (lowerCase !== evt.sourceEvent.key) {\r\n var unicode = evt.sourceEvent.charCode ? evt.sourceEvent.charCode : evt.sourceEvent.keyCode;\r\n var actualkey = String.fromCharCode(unicode).toLowerCase();\r\n if (actualkey !== lowerCase) {\r\n continue;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n action._executeCurrent(evt);\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _getEffectiveTarget(target: any, propertyPath: string): any {\r\n var properties = propertyPath.split(\".\");\r\n\r\n for (var index = 0; index < properties.length - 1; index++) {\r\n target = target[properties[index]];\r\n }\r\n\r\n return target;\r\n }\r\n\r\n /** @hidden */\r\n public _getProperty(propertyPath: string): string {\r\n var properties = propertyPath.split(\".\");\r\n\r\n return properties[properties.length - 1];\r\n }\r\n\r\n /**\r\n * Serialize this manager to a JSON object\r\n * @param name defines the property name to store this manager\r\n * @returns a JSON representation of this manager\r\n */\r\n public serialize(name: string): any {\r\n var root = {\r\n children: new Array(),\r\n name: name,\r\n type: 3, // Root node\r\n properties: new Array() // Empty for root but required\r\n };\r\n\r\n for (var i = 0; i < this.actions.length; i++) {\r\n var triggerObject = {\r\n type: 0, // Trigger\r\n children: new Array(),\r\n name: ActionManager.GetTriggerName(this.actions[i].trigger),\r\n properties: new Array()\r\n };\r\n\r\n var triggerOptions = this.actions[i].triggerOptions;\r\n\r\n if (triggerOptions && typeof triggerOptions !== \"number\") {\r\n if (triggerOptions.parameter instanceof Node) {\r\n triggerObject.properties.push(Action._GetTargetProperty(triggerOptions.parameter));\r\n }\r\n else {\r\n var parameter = <any>{};\r\n DeepCopier.DeepCopy(triggerOptions.parameter, parameter, [\"mesh\"]);\r\n\r\n if (triggerOptions.parameter && triggerOptions.parameter.mesh) {\r\n parameter._meshId = triggerOptions.parameter.mesh.id;\r\n }\r\n\r\n triggerObject.properties.push({ name: \"parameter\", targetType: null, value: parameter });\r\n }\r\n }\r\n\r\n // Serialize child action, recursively\r\n this.actions[i].serialize(triggerObject);\r\n\r\n // Add serialized trigger\r\n root.children.push(triggerObject);\r\n }\r\n\r\n return root;\r\n }\r\n\r\n /**\r\n * Creates a new ActionManager from a JSON data\r\n * @param parsedActions defines the JSON data to read from\r\n * @param object defines the hosting mesh\r\n * @param scene defines the hosting scene\r\n */\r\n public static Parse(parsedActions: any, object: Nullable<AbstractMesh>, scene: Scene): void {\r\n var actionManager = new ActionManager(scene);\r\n if (object === null) {\r\n scene.actionManager = actionManager;\r\n }\r\n else {\r\n object.actionManager = actionManager;\r\n }\r\n\r\n // instanciate a new object\r\n var instanciate = (name: string, params: Array<any>): any => {\r\n const internalClassType = GetClass(\"BABYLON.\" + name);\r\n if (internalClassType) {\r\n var newInstance: Object = Object.create(internalClassType.prototype);\r\n newInstance.constructor.apply(newInstance, params);\r\n return newInstance;\r\n }\r\n };\r\n\r\n var parseParameter = (name: string, value: string, target: any, propertyPath: Nullable<string>): any => {\r\n if (propertyPath === null) {\r\n // String, boolean or float\r\n var floatValue = parseFloat(value);\r\n\r\n if (value === \"true\" || value === \"false\") {\r\n return value === \"true\";\r\n }\r\n else {\r\n return isNaN(floatValue) ? value : floatValue;\r\n }\r\n }\r\n\r\n var effectiveTarget = propertyPath.split(\".\");\r\n var values = value.split(\",\");\r\n\r\n // Get effective Target\r\n for (var i = 0; i < effectiveTarget.length; i++) {\r\n target = target[effectiveTarget[i]];\r\n }\r\n\r\n // Return appropriate value with its type\r\n if (typeof (target) === \"boolean\") {\r\n return values[0] === \"true\";\r\n }\r\n\r\n if (typeof (target) === \"string\") {\r\n return values[0];\r\n }\r\n\r\n // Parameters with multiple values such as Vector3 etc.\r\n var split = new Array<number>();\r\n for (var i = 0; i < values.length; i++) {\r\n split.push(parseFloat(values[i]));\r\n }\r\n\r\n if (target instanceof Vector3) {\r\n return Vector3.FromArray(split);\r\n }\r\n\r\n if (target instanceof Vector4) {\r\n return Vector4.FromArray(split);\r\n }\r\n\r\n if (target instanceof Color3) {\r\n return Color3.FromArray(split);\r\n }\r\n\r\n if (target instanceof Color4) {\r\n return Color4.FromArray(split);\r\n }\r\n\r\n return parseFloat(values[0]);\r\n };\r\n\r\n // traverse graph per trigger\r\n var traverse = (parsedAction: any, trigger: any, condition: Nullable<Condition>, action: Nullable<Action>, combineArray: Nullable<Array<Action>> = null) => {\r\n if (parsedAction.detached) {\r\n return;\r\n }\r\n\r\n var parameters = new Array<any>();\r\n var target: any = null;\r\n var propertyPath: Nullable<string> = null;\r\n var combine = parsedAction.combine && parsedAction.combine.length > 0;\r\n\r\n // Parameters\r\n if (parsedAction.type === 2) {\r\n parameters.push(actionManager);\r\n }\r\n else {\r\n parameters.push(trigger);\r\n }\r\n\r\n if (combine) {\r\n var actions = new Array<Action>();\r\n for (var j = 0; j < parsedAction.combine.length; j++) {\r\n traverse(parsedAction.combine[j], ActionManager.NothingTrigger, condition, action, actions);\r\n }\r\n parameters.push(actions);\r\n }\r\n else {\r\n for (var i = 0; i < parsedAction.properties.length; i++) {\r\n var value = parsedAction.properties[i].value;\r\n var name = parsedAction.properties[i].name;\r\n var targetType = parsedAction.properties[i].targetType;\r\n\r\n if (name === \"target\") {\r\n if (targetType !== null && targetType === \"SceneProperties\") {\r\n value = target = scene;\r\n }\r\n else {\r\n value = target = scene.getNodeByName(value);\r\n }\r\n }\r\n else if (name === \"parent\") {\r\n value = scene.getNodeByName(value);\r\n }\r\n else if (name === \"sound\") {\r\n // Can not externalize to component, so only checks for the presence off the API.\r\n if (scene.getSoundByName) {\r\n value = scene.getSoundByName(value);\r\n }\r\n }\r\n else if (name !== \"propertyPath\") {\r\n if (parsedAction.type === 2 && name === \"operator\") {\r\n value = (<any>ValueCondition)[value];\r\n }\r\n else {\r\n value = parseParameter(name, value, target, name === \"value\" ? propertyPath : null);\r\n }\r\n } else {\r\n propertyPath = value;\r\n }\r\n\r\n parameters.push(value);\r\n }\r\n }\r\n\r\n if (combineArray === null) {\r\n parameters.push(condition);\r\n }\r\n else {\r\n parameters.push(null);\r\n }\r\n\r\n // If interpolate value action\r\n if (parsedAction.name === \"InterpolateValueAction\") {\r\n var param = parameters[parameters.length - 2];\r\n parameters[parameters.length - 1] = param;\r\n parameters[parameters.length - 2] = condition;\r\n }\r\n\r\n // Action or condition(s) and not CombineAction\r\n var newAction = instanciate(parsedAction.name, parameters);\r\n\r\n if (newAction instanceof Condition && condition !== null) {\r\n var nothing = new DoNothingAction(trigger, condition);\r\n\r\n if (action) {\r\n action.then(nothing);\r\n }\r\n else {\r\n actionManager.registerAction(nothing);\r\n }\r\n\r\n action = nothing;\r\n }\r\n\r\n if (combineArray === null) {\r\n if (newAction instanceof Condition) {\r\n condition = newAction;\r\n newAction = action;\r\n } else {\r\n condition = null;\r\n if (action) {\r\n action.then(newAction);\r\n }\r\n else {\r\n actionManager.registerAction(newAction);\r\n }\r\n }\r\n }\r\n else {\r\n combineArray.push(newAction);\r\n }\r\n\r\n for (var i = 0; i < parsedAction.children.length; i++) {\r\n traverse(parsedAction.children[i], trigger, condition, newAction, null);\r\n }\r\n };\r\n\r\n // triggers\r\n for (var i = 0; i < parsedActions.children.length; i++) {\r\n var triggerParams: any;\r\n var trigger = parsedActions.children[i];\r\n\r\n if (trigger.properties.length > 0) {\r\n var param = trigger.properties[0].value;\r\n var value = trigger.properties[0].targetType === null ? param : scene.getMeshByName(param);\r\n\r\n if (value._meshId) {\r\n value.mesh = scene.getMeshById(value._meshId);\r\n }\r\n\r\n triggerParams = { trigger: (<any>ActionManager)[trigger.name], parameter: value };\r\n }\r\n else {\r\n triggerParams = (<any>ActionManager)[trigger.name];\r\n }\r\n\r\n for (var j = 0; j < trigger.children.length; j++) {\r\n if (!trigger.detached) {\r\n traverse(trigger.children[j], triggerParams, null, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get a trigger name by index\r\n * @param trigger defines the trigger index\r\n * @returns a trigger name\r\n */\r\n public static GetTriggerName(trigger: number): string {\r\n switch (trigger) {\r\n case 0: return \"NothingTrigger\";\r\n case 1: return \"OnPickTrigger\";\r\n case 2: return \"OnLeftPickTrigger\";\r\n case 3: return \"OnRightPickTrigger\";\r\n case 4: return \"OnCenterPickTrigger\";\r\n case 5: return \"OnPickDownTrigger\";\r\n case 6: return \"OnPickUpTrigger\";\r\n case 7: return \"OnLongPressTrigger\";\r\n case 8: return \"OnPointerOverTrigger\";\r\n case 9: return \"OnPointerOutTrigger\";\r\n case 10: return \"OnEveryFrameTrigger\";\r\n case 11: return \"OnIntersectionEnterTrigger\";\r\n case 12: return \"OnIntersectionExitTrigger\";\r\n case 13: return \"OnKeyDownTrigger\";\r\n case 14: return \"OnKeyUpTrigger\";\r\n case 15: return \"OnPickOutTrigger\";\r\n default: return \"\";\r\n }\r\n }\r\n}"]}
|
package/Actions/condition.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { Action } from "./action";
|
|
3
|
-
import {
|
|
2
|
+
import { Action } from "./action.js";
|
|
3
|
+
import { RegisterClass } from "../Misc/typeStore.js";
|
|
4
4
|
/**
|
|
5
5
|
* A Condition applied to an Action
|
|
6
6
|
*/
|
|
@@ -267,7 +267,7 @@ var StateCondition = /** @class */ (function (_super) {
|
|
|
267
267
|
return StateCondition;
|
|
268
268
|
}(Condition));
|
|
269
269
|
export { StateCondition };
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
RegisterClass("BABYLON.ValueCondition", ValueCondition);
|
|
271
|
+
RegisterClass("BABYLON.PredicateCondition", PredicateCondition);
|
|
272
|
+
RegisterClass("BABYLON.StateCondition", StateCondition);
|
|
273
273
|
//# sourceMappingURL=condition.js.map
|
package/Actions/condition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/condition.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C;;GAEG;AACH;IAmBI;;;OAGG;IACH,mBAAY,aAA4B;QACpC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,2BAAO,GAAd;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,gCAAY,GAAnB,UAAoB,YAAoB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,uCAAmB,GAA1B,UAA2B,MAAW,EAAE,YAAoB;QACxD,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,6BAAS,GAAhB;IACA,CAAC;IAED;;;OAGG;IACO,8BAAU,GAApB,UAAqB,mBAAwB;QACzC,OAAO;YACH,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,mBAAmB,CAAC,IAAI;YAC9B,UAAU,EAAE,mBAAmB,CAAC,UAAU;SAC7C,CAAC;IACN,CAAC;IACL,gBAAC;AAAD,CAAC,AAtED,IAsEC;;AAED;;GAEG;AACH;IAAoC,kCAAS;IA8EzC;;;;;;;OAOG;IACH,wBAAY,aAA4B,EAAE,MAAW;IACjD,gFAAgF;IACzE,YAAoB;IAC3B,+FAA+F;IACxF,KAAU;IACjB,+DAA+D;IACxD,QAAyC;QAAzC,yBAAA,EAAA,WAAmB,cAAc,CAAC,OAAO;QANpD,YAOI,kBAAM,aAAa,CAAC,SAKvB;QAVU,kBAAY,GAAZ,YAAY,CAAQ;QAEpB,WAAK,GAAL,KAAK,CAAK;QAEV,cAAQ,GAAR,QAAQ,CAAiC;QAGhD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;;IAC1D,CAAC;IArED,sBAAkB,yBAAO;QAHzB;;WAEG;aACH;YACI,OAAO,cAAc,CAAC,QAAQ,CAAC;QACnC,CAAC;;;OAAA;IAKD,sBAAkB,6BAAW;QAH7B;;WAEG;aACH;YACI,OAAO,cAAc,CAAC,YAAY,CAAC;QACvC,CAAC;;;OAAA;IAKD,sBAAkB,2BAAS;QAH3B;;WAEG;aACH;YACI,OAAO,cAAc,CAAC,UAAU,CAAC;QACrC,CAAC;;;OAAA;IAKD,sBAAkB,0BAAQ;QAH1B;;WAEG;aACH;YACI,OAAO,cAAc,CAAC,SAAS,CAAC;QACpC,CAAC;;;OAAA;IAgDD;;;OAGG;IACI,gCAAO,GAAd;QACI,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,KAAK,cAAc,CAAC,SAAS;gBACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9D,KAAK,cAAc,CAAC,QAAQ;gBACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9D,KAAK,cAAc,CAAC,OAAO,CAAC;YAC5B,KAAK,cAAc,CAAC,WAAW;gBAC3B,IAAI,KAAc,CAAC;gBAEnB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACnB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;iBACpE;qBAAM;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChE;gBACD,OAAO,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACxE;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,kCAAS,GAAhB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC;YACnB,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;gBAClD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACpE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;aAC7E;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACW,8BAAe,GAA7B,UAA8B,QAAgB;QAC1C,QAAQ,QAAQ,EAAE;YACd,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAC/C,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,aAAa,CAAC;YACvD,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC;YACnD,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC;YACjD,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SACtB;IACL,CAAC;IAxJD;;;OAGG;IACY,uBAAQ,GAAG,CAAC,CAAC;IAE5B;;;OAGG;IACY,2BAAY,GAAG,CAAC,CAAC;IAEhC;;;OAGG;IACY,yBAAU,GAAG,CAAC,CAAC;IAE9B;;;OAGG;IACY,wBAAS,GAAG,CAAC,CAAC;IAmIjC,qBAAC;CAAA,AA3JD,CAAoC,SAAS,GA2J5C;SA3JY,cAAc;AA6J3B;;GAEG;AACH;IAAwC,sCAAS;IAQ7C;;;;OAIG;IACH,4BAAY,aAA4B;IACpC,oEAAoE;IAC7D,SAAwB;QAFnC,YAGI,kBAAM,aAAa,CAAC,SACvB;QAFU,eAAS,GAAT,SAAS,CAAe;;IAEnC,CAAC;IAED;;OAEG;IACI,oCAAO,GAAd;QACI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IACL,yBAAC;AAAD,CAAC,AAzBD,CAAwC,SAAS,GAyBhD;;AAED;;GAEG;AACH;IAAoC,kCAAS;IAczC;;;;;OAKG;IACH,wBAAY,aAA4B,EAAE,MAAW;IACjD,0CAA0C;IACnC,KAAa;QAFxB,YAGI,kBAAM,aAAa,CAAC,SAGvB;QAJU,WAAK,GAAL,KAAK,CAAQ;QAGpB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;;IAC1B,CAAC;IAED;;;OAGG;IACI,gCAAO,GAAd;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,kCAAS,GAAhB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC;YACnB,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;aACvC;SACJ,CAAC,CAAC;IACP,CAAC;IACL,qBAAC;AAAD,CAAC,AAjDD,CAAoC,SAAS,GAiD5C;;AAED,UAAU,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,cAAc,CAAC;AACtE,UAAU,CAAC,eAAe,CAAC,4BAA4B,CAAC,GAAG,kBAAkB,CAAC;AAC9E,UAAU,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,cAAc,CAAC","sourcesContent":["import { Action } from \"./action\";\r\nimport { _TypeStore } from \"../Misc/typeStore\";\r\n\r\ndeclare type ActionManager = import(\"./actionManager\").ActionManager;\r\n\r\n/**\r\n * A Condition applied to an Action\r\n */\r\nexport class Condition {\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _evaluationId: number;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _currentResult: boolean;\r\n\r\n /**\r\n * Creates a new Condition\r\n * @param actionManager the manager of the action the condition is applied to\r\n */\r\n constructor(actionManager: ActionManager) {\r\n this._actionManager = actionManager;\r\n }\r\n\r\n /**\r\n * Check if the current condition is valid\r\n * @returns a boolean\r\n */\r\n public isValid(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getProperty(propertyPath: string): string {\r\n return this._actionManager._getProperty(propertyPath);\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getEffectiveTarget(target: any, propertyPath: string): any {\r\n return this._actionManager._getEffectiveTarget(target, propertyPath);\r\n }\r\n\r\n /**\r\n * Serialize placeholder for child classes\r\n * @returns the serialized object\r\n */\r\n public serialize(): any {\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n protected _serialize(serializedCondition: any): any {\r\n return {\r\n type: 2, // Condition\r\n children: [],\r\n name: serializedCondition.name,\r\n properties: serializedCondition.properties\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Defines specific conditional operators as extensions of Condition\r\n */\r\nexport class ValueCondition extends Condition {\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsEqual = 0;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsDifferent = 1;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsGreater = 2;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsLesser = 3;\r\n\r\n /**\r\n * returns the number for IsEqual\r\n */\r\n public static get IsEqual(): number {\r\n return ValueCondition._IsEqual;\r\n }\r\n\r\n /**\r\n * Returns the number for IsDifferent\r\n */\r\n public static get IsDifferent(): number {\r\n return ValueCondition._IsDifferent;\r\n }\r\n\r\n /**\r\n * Returns the number for IsGreater\r\n */\r\n public static get IsGreater(): number {\r\n return ValueCondition._IsGreater;\r\n }\r\n\r\n /**\r\n * Returns the number for IsLesser\r\n */\r\n public static get IsLesser(): number {\r\n return ValueCondition._IsLesser;\r\n }\r\n\r\n /**\r\n * Internal only The action manager for the condition\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _target: any;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _effectiveTarget: any;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _property: string;\r\n\r\n /**\r\n * Creates a new ValueCondition\r\n * @param actionManager manager for the action the condition applies to\r\n * @param target for the action\r\n * @param propertyPath path to specify the property of the target the conditional operator uses\r\n * @param value the value compared by the conditional operator against the current value of the property\r\n * @param operator the conditional operator, default ValueCondition.IsEqual\r\n */\r\n constructor(actionManager: ActionManager, target: any,\r\n /** path to specify the property of the target the conditional operator uses */\r\n public propertyPath: string,\r\n /** the value compared by the conditional operator against the current value of the property */\r\n public value: any,\r\n /** the conditional operator, default ValueCondition.IsEqual */\r\n public operator: number = ValueCondition.IsEqual) {\r\n super(actionManager);\r\n\r\n this._target = target;\r\n this._effectiveTarget = this._getEffectiveTarget(target, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n }\r\n\r\n /**\r\n * Compares the given value with the property value for the specified conditional operator\r\n * @returns the result of the comparison\r\n */\r\n public isValid(): boolean {\r\n switch (this.operator) {\r\n case ValueCondition.IsGreater:\r\n return this._effectiveTarget[this._property] > this.value;\r\n case ValueCondition.IsLesser:\r\n return this._effectiveTarget[this._property] < this.value;\r\n case ValueCondition.IsEqual:\r\n case ValueCondition.IsDifferent:\r\n var check: boolean;\r\n\r\n if (this.value.equals) {\r\n check = this.value.equals(this._effectiveTarget[this._property]);\r\n } else {\r\n check = this.value === this._effectiveTarget[this._property];\r\n }\r\n return this.operator === ValueCondition.IsEqual ? check : !check;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Serialize the ValueCondition into a JSON compatible object\r\n * @returns serialization object\r\n */\r\n public serialize(): any {\r\n return this._serialize({\r\n name: \"ValueCondition\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath },\r\n { name: \"value\", value: Action._SerializeValueAsString(this.value) },\r\n { name: \"operator\", value: ValueCondition.GetOperatorName(this.operator) }\r\n ]\r\n });\r\n }\r\n\r\n /**\r\n * Gets the name of the conditional operator for the ValueCondition\r\n * @param operator the conditional operator\r\n * @returns the name\r\n */\r\n public static GetOperatorName(operator: number): string {\r\n switch (operator) {\r\n case ValueCondition._IsEqual: return \"IsEqual\";\r\n case ValueCondition._IsDifferent: return \"IsDifferent\";\r\n case ValueCondition._IsGreater: return \"IsGreater\";\r\n case ValueCondition._IsLesser: return \"IsLesser\";\r\n default: return \"\";\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines a predicate condition as an extension of Condition\r\n */\r\nexport class PredicateCondition extends Condition {\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Creates a new PredicateCondition\r\n * @param actionManager manager for the action the condition applies to\r\n * @param predicate defines the predicate function used to validate the condition\r\n */\r\n constructor(actionManager: ActionManager,\r\n /** defines the predicate function used to validate the condition */\r\n public predicate: () => boolean) {\r\n super(actionManager);\r\n }\r\n\r\n /**\r\n * @returns the validity of the predicate condition\r\n */\r\n public isValid(): boolean {\r\n return this.predicate();\r\n }\r\n}\r\n\r\n/**\r\n * Defines a state condition as an extension of Condition\r\n */\r\nexport class StateCondition extends Condition {\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _target: any;\r\n\r\n /**\r\n * Creates a new StateCondition\r\n * @param actionManager manager for the action the condition applies to\r\n * @param target of the condition\r\n * @param value to compare with target state\r\n */\r\n constructor(actionManager: ActionManager, target: any,\r\n /** Value to compare with target state */\r\n public value: string) {\r\n super(actionManager);\r\n\r\n this._target = target;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the current condition is met\r\n * @returns the validity of the state\r\n */\r\n public isValid(): boolean {\r\n return this._target.state === this.value;\r\n }\r\n\r\n /**\r\n * Serialize the StateCondition into a JSON compatible object\r\n * @returns serialization object\r\n */\r\n public serialize(): any {\r\n return this._serialize({\r\n name: \"StateCondition\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"value\", value: this.value }\r\n ]\r\n });\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.ValueCondition\"] = ValueCondition;\r\n_TypeStore.RegisteredTypes[\"BABYLON.PredicateCondition\"] = PredicateCondition;\r\n_TypeStore.RegisteredTypes[\"BABYLON.StateCondition\"] = StateCondition;\r\n"]}
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/condition.ts"],"names":[],"mappings":"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","sourcesContent":["import { Action } from \"./action\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\n\r\ndeclare type ActionManager = import(\"./actionManager\").ActionManager;\r\n\r\n/**\r\n * A Condition applied to an Action\r\n */\r\nexport class Condition {\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _evaluationId: number;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _currentResult: boolean;\r\n\r\n /**\r\n * Creates a new Condition\r\n * @param actionManager the manager of the action the condition is applied to\r\n */\r\n constructor(actionManager: ActionManager) {\r\n this._actionManager = actionManager;\r\n }\r\n\r\n /**\r\n * Check if the current condition is valid\r\n * @returns a boolean\r\n */\r\n public isValid(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getProperty(propertyPath: string): string {\r\n return this._actionManager._getProperty(propertyPath);\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n public _getEffectiveTarget(target: any, propertyPath: string): any {\r\n return this._actionManager._getEffectiveTarget(target, propertyPath);\r\n }\r\n\r\n /**\r\n * Serialize placeholder for child classes\r\n * @returns the serialized object\r\n */\r\n public serialize(): any {\r\n }\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n protected _serialize(serializedCondition: any): any {\r\n return {\r\n type: 2, // Condition\r\n children: [],\r\n name: serializedCondition.name,\r\n properties: serializedCondition.properties\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Defines specific conditional operators as extensions of Condition\r\n */\r\nexport class ValueCondition extends Condition {\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsEqual = 0;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsDifferent = 1;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsGreater = 2;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private static _IsLesser = 3;\r\n\r\n /**\r\n * returns the number for IsEqual\r\n */\r\n public static get IsEqual(): number {\r\n return ValueCondition._IsEqual;\r\n }\r\n\r\n /**\r\n * Returns the number for IsDifferent\r\n */\r\n public static get IsDifferent(): number {\r\n return ValueCondition._IsDifferent;\r\n }\r\n\r\n /**\r\n * Returns the number for IsGreater\r\n */\r\n public static get IsGreater(): number {\r\n return ValueCondition._IsGreater;\r\n }\r\n\r\n /**\r\n * Returns the number for IsLesser\r\n */\r\n public static get IsLesser(): number {\r\n return ValueCondition._IsLesser;\r\n }\r\n\r\n /**\r\n * Internal only The action manager for the condition\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _target: any;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _effectiveTarget: any;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _property: string;\r\n\r\n /**\r\n * Creates a new ValueCondition\r\n * @param actionManager manager for the action the condition applies to\r\n * @param target for the action\r\n * @param propertyPath path to specify the property of the target the conditional operator uses\r\n * @param value the value compared by the conditional operator against the current value of the property\r\n * @param operator the conditional operator, default ValueCondition.IsEqual\r\n */\r\n constructor(actionManager: ActionManager, target: any,\r\n /** path to specify the property of the target the conditional operator uses */\r\n public propertyPath: string,\r\n /** the value compared by the conditional operator against the current value of the property */\r\n public value: any,\r\n /** the conditional operator, default ValueCondition.IsEqual */\r\n public operator: number = ValueCondition.IsEqual) {\r\n super(actionManager);\r\n\r\n this._target = target;\r\n this._effectiveTarget = this._getEffectiveTarget(target, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n }\r\n\r\n /**\r\n * Compares the given value with the property value for the specified conditional operator\r\n * @returns the result of the comparison\r\n */\r\n public isValid(): boolean {\r\n switch (this.operator) {\r\n case ValueCondition.IsGreater:\r\n return this._effectiveTarget[this._property] > this.value;\r\n case ValueCondition.IsLesser:\r\n return this._effectiveTarget[this._property] < this.value;\r\n case ValueCondition.IsEqual:\r\n case ValueCondition.IsDifferent:\r\n var check: boolean;\r\n\r\n if (this.value.equals) {\r\n check = this.value.equals(this._effectiveTarget[this._property]);\r\n } else {\r\n check = this.value === this._effectiveTarget[this._property];\r\n }\r\n return this.operator === ValueCondition.IsEqual ? check : !check;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Serialize the ValueCondition into a JSON compatible object\r\n * @returns serialization object\r\n */\r\n public serialize(): any {\r\n return this._serialize({\r\n name: \"ValueCondition\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath },\r\n { name: \"value\", value: Action._SerializeValueAsString(this.value) },\r\n { name: \"operator\", value: ValueCondition.GetOperatorName(this.operator) }\r\n ]\r\n });\r\n }\r\n\r\n /**\r\n * Gets the name of the conditional operator for the ValueCondition\r\n * @param operator the conditional operator\r\n * @returns the name\r\n */\r\n public static GetOperatorName(operator: number): string {\r\n switch (operator) {\r\n case ValueCondition._IsEqual: return \"IsEqual\";\r\n case ValueCondition._IsDifferent: return \"IsDifferent\";\r\n case ValueCondition._IsGreater: return \"IsGreater\";\r\n case ValueCondition._IsLesser: return \"IsLesser\";\r\n default: return \"\";\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Defines a predicate condition as an extension of Condition\r\n */\r\nexport class PredicateCondition extends Condition {\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Creates a new PredicateCondition\r\n * @param actionManager manager for the action the condition applies to\r\n * @param predicate defines the predicate function used to validate the condition\r\n */\r\n constructor(actionManager: ActionManager,\r\n /** defines the predicate function used to validate the condition */\r\n public predicate: () => boolean) {\r\n super(actionManager);\r\n }\r\n\r\n /**\r\n * @returns the validity of the predicate condition\r\n */\r\n public isValid(): boolean {\r\n return this.predicate();\r\n }\r\n}\r\n\r\n/**\r\n * Defines a state condition as an extension of Condition\r\n */\r\nexport class StateCondition extends Condition {\r\n\r\n /**\r\n * Internal only - manager for action\r\n * @hidden\r\n */\r\n public _actionManager: ActionManager;\r\n\r\n /**\r\n * Internal only\r\n * @hidden\r\n */\r\n private _target: any;\r\n\r\n /**\r\n * Creates a new StateCondition\r\n * @param actionManager manager for the action the condition applies to\r\n * @param target of the condition\r\n * @param value to compare with target state\r\n */\r\n constructor(actionManager: ActionManager, target: any,\r\n /** Value to compare with target state */\r\n public value: string) {\r\n super(actionManager);\r\n\r\n this._target = target;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the current condition is met\r\n * @returns the validity of the state\r\n */\r\n public isValid(): boolean {\r\n return this._target.state === this.value;\r\n }\r\n\r\n /**\r\n * Serialize the StateCondition into a JSON compatible object\r\n * @returns serialization object\r\n */\r\n public serialize(): any {\r\n return this._serialize({\r\n name: \"StateCondition\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"value\", value: this.value }\r\n ]\r\n });\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.ValueCondition\", ValueCondition);\r\nRegisterClass(\"BABYLON.PredicateCondition\", PredicateCondition);\r\nRegisterClass(\"BABYLON.StateCondition\", StateCondition);\r\n"]}
|
package/Actions/directActions.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import { Logger } from "../Misc/logger";
|
|
3
|
-
import { Vector3 } from "../Maths/math.vector";
|
|
4
|
-
import { Action } from "./action";
|
|
5
|
-
import {
|
|
2
|
+
import { Logger } from "../Misc/logger.js";
|
|
3
|
+
import { Vector3 } from "../Maths/math.vector.js";
|
|
4
|
+
import { Action } from "./action.js";
|
|
5
|
+
import { RegisterClass } from '../Misc/typeStore.js';
|
|
6
6
|
/**
|
|
7
7
|
* This defines an action responsible to toggle a boolean once triggered.
|
|
8
8
|
* @see https://doc.babylonjs.com/how_to/how_to_use_actions
|
|
@@ -465,13 +465,13 @@ var SetParentAction = /** @class */ (function (_super) {
|
|
|
465
465
|
return SetParentAction;
|
|
466
466
|
}(Action));
|
|
467
467
|
export { SetParentAction };
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
468
|
+
RegisterClass("BABYLON.SetParentAction", SetParentAction);
|
|
469
|
+
RegisterClass("BABYLON.ExecuteCodeAction", ExecuteCodeAction);
|
|
470
|
+
RegisterClass("BABYLON.DoNothingAction", DoNothingAction);
|
|
471
|
+
RegisterClass("BABYLON.StopAnimationAction", StopAnimationAction);
|
|
472
|
+
RegisterClass("BABYLON.PlayAnimationAction", PlayAnimationAction);
|
|
473
|
+
RegisterClass("BABYLON.IncrementValueAction", IncrementValueAction);
|
|
474
|
+
RegisterClass("BABYLON.SetValueAction", SetValueAction);
|
|
475
|
+
RegisterClass("BABYLON.SetStateAction", SetStateAction);
|
|
476
|
+
RegisterClass("BABYLON.SetParentAction", SetParentAction);
|
|
477
477
|
//# sourceMappingURL=directActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directActions.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/directActions.ts"],"names":[],"mappings":"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","sourcesContent":["import { Logger } from \"../Misc/logger\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Action } from \"./action\";\r\nimport { Condition } from \"./condition\";\r\n\r\nimport { _TypeStore } from '../Misc/typeStore';\r\n\r\ndeclare type ActionEvent = import(\"./actionEvent\").ActionEvent;\r\n\r\n/**\r\n * This defines an action responsible to toggle a boolean once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SwitchBooleanAction extends Action {\r\n /**\r\n * The path to the boolean property in the target object\r\n */\r\n public propertyPath: string;\r\n\r\n private _target: any;\r\n private _effectiveTarget: any;\r\n private _property: string;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the boolean\r\n * @param propertyPath defines the path to the boolean property in the target object\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, propertyPath: string, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.propertyPath = propertyPath;\r\n this._target = this._effectiveTarget = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n }\r\n\r\n /**\r\n * Execute the action toggle the boolean value.\r\n */\r\n public execute(): void {\r\n this._effectiveTarget[this._property] = !this._effectiveTarget[this._property];\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SwitchBooleanAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to set a the state field of the target\r\n * to a desired value once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SetStateAction extends Action {\r\n /**\r\n * The value to store in the state field.\r\n */\r\n public value: string;\r\n\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the state property\r\n * @param value defines the value to store in the state field\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, value: string, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.value = value;\r\n this._target = target;\r\n }\r\n\r\n /**\r\n * Execute the action and store the value on the target state property.\r\n */\r\n public execute(): void {\r\n this._target.state = this.value;\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SetStateAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"value\", value: this.value }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to set a property of the target\r\n * to a desired value once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SetValueAction extends Action {\r\n /**\r\n * The path of the property to set in the target.\r\n */\r\n public propertyPath: string;\r\n\r\n /**\r\n * The value to set in the property\r\n */\r\n public value: any;\r\n\r\n private _target: any;\r\n private _effectiveTarget: any;\r\n private _property: string;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the property\r\n * @param propertyPath defines the path of the property to set in the target\r\n * @param value defines the value to set in the property\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, propertyPath: string, value: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.propertyPath = propertyPath;\r\n this.value = value;\r\n this._target = this._effectiveTarget = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n }\r\n\r\n /**\r\n * Execute the action and set the targeted property to the desired value.\r\n */\r\n public execute(): void {\r\n this._effectiveTarget[this._property] = this.value;\r\n\r\n if (this._target.markAsDirty) {\r\n this._target.markAsDirty(this._property);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SetValueAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath },\r\n { name: \"value\", value: Action._SerializeValueAsString(this.value) }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to increment the target value\r\n * to a desired value once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class IncrementValueAction extends Action {\r\n /**\r\n * The path of the property to increment in the target.\r\n */\r\n public propertyPath: string;\r\n\r\n /**\r\n * The value we should increment the property by.\r\n */\r\n public value: any;\r\n\r\n private _target: any;\r\n private _effectiveTarget: any;\r\n private _property: string;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the property\r\n * @param propertyPath defines the path of the property to increment in the target\r\n * @param value defines the value value we should increment the property by\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, propertyPath: string, value: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.propertyPath = propertyPath;\r\n this.value = value;\r\n this._target = this._effectiveTarget = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n\r\n if (typeof this._effectiveTarget[this._property] !== \"number\") {\r\n Logger.Warn(\"Warning: IncrementValueAction can only be used with number values\");\r\n }\r\n }\r\n\r\n /**\r\n * Execute the action and increment the target of the value amount.\r\n */\r\n public execute(): void {\r\n this._effectiveTarget[this._property] += this.value;\r\n\r\n if (this._target.markAsDirty) {\r\n this._target.markAsDirty(this._property);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"IncrementValueAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath },\r\n { name: \"value\", value: Action._SerializeValueAsString(this.value) }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to start an animation once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class PlayAnimationAction extends Action {\r\n /**\r\n * Where the animation should start (animation frame)\r\n */\r\n public from: number;\r\n\r\n /**\r\n * Where the animation should stop (animation frame)\r\n */\r\n public to: number;\r\n\r\n /**\r\n * Define if the animation should loop or stop after the first play.\r\n */\r\n public loop?: boolean;\r\n\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the target animation or animation name\r\n * @param from defines from where the animation should start (animation frame)\r\n * @param to defines where the animation should stop (animation frame)\r\n * @param loop defines if the animation should loop or stop after the first play\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, from: number, to: number, loop?: boolean, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.from = from;\r\n this.to = to;\r\n this.loop = loop;\r\n this._target = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Execute the action and play the animation.\r\n */\r\n public execute(): void {\r\n var scene = this._actionManager.getScene();\r\n scene.beginAnimation(this._target, this.from, this.to, this.loop);\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"PlayAnimationAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"from\", value: String(this.from) },\r\n { name: \"to\", value: String(this.to) },\r\n { name: \"loop\", value: Action._SerializeValueAsString(this.loop) || false }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to stop an animation once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class StopAnimationAction extends Action {\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the target animation or animation name\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this._target = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Execute the action and stop the animation.\r\n */\r\n public execute(): void {\r\n var scene = this._actionManager.getScene();\r\n scene.stopAnimation(this._target);\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"StopAnimationAction\",\r\n properties: [Action._GetTargetProperty(this._target)]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible that does nothing once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class DoNothingAction extends Action {\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any = 0, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n }\r\n\r\n /**\r\n * Execute the action and do nothing.\r\n */\r\n public execute(): void {\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"DoNothingAction\",\r\n properties: []\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to trigger several actions once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class CombineAction extends Action {\r\n /**\r\n * The list of aggregated animations to run.\r\n */\r\n public children: Action[];\r\n\r\n /**\r\n * defines if the children actions conditions should be check before execution\r\n */\r\n public enableChildrenConditions: boolean;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param children defines the list of aggregated animations to run\r\n * @param condition defines the trigger related conditions\r\n * @param enableChildrenConditions defines if the children actions conditions should be check before execution\r\n */\r\n constructor(triggerOptions: any, children: Action[], condition?: Condition, enableChildrenConditions = true) {\r\n super(triggerOptions, condition);\r\n this.children = children;\r\n this.enableChildrenConditions = enableChildrenConditions;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n for (var index = 0; index < this.children.length; index++) {\r\n this.children[index]._actionManager = this._actionManager;\r\n this.children[index]._prepare();\r\n }\r\n }\r\n\r\n /**\r\n * Execute the action and executes all the aggregated actions.\r\n */\r\n public execute(evt: ActionEvent): void {\r\n for (const action of this.children) {\r\n if (!this.enableChildrenConditions || action._evaluateConditionForCurrentFrame()) {\r\n action.execute(evt);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n var serializationObject = super._serialize({\r\n name: \"CombineAction\",\r\n properties: [],\r\n combine: []\r\n }, parent);\r\n\r\n for (var i = 0; i < this.children.length; i++) {\r\n serializationObject.combine.push(this.children[i].serialize(null));\r\n }\r\n\r\n return serializationObject;\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to run code (external event) once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class ExecuteCodeAction extends Action {\r\n /**\r\n * The callback function to run.\r\n */\r\n public func: (evt: ActionEvent) => void;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param func defines the callback function to run\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, func: (evt: ActionEvent) => void, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.func = func;\r\n }\r\n\r\n /**\r\n * Execute the action and run the attached code.\r\n */\r\n public execute(evt: ActionEvent): void {\r\n this.func(evt);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to set the parent property of the target once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SetParentAction extends Action {\r\n private _parent: any;\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the target containing the parent property\r\n * @param parent defines from where the animation should start (animation frame)\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, parent: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this._target = target;\r\n this._parent = parent;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Execute the action and set the parent property.\r\n */\r\n public execute(): void {\r\n if (this._target.parent === this._parent) {\r\n return;\r\n }\r\n\r\n var invertParentWorldMatrix = this._parent.getWorldMatrix().clone();\r\n invertParentWorldMatrix.invert();\r\n\r\n this._target.position = Vector3.TransformCoordinates(this._target.position, invertParentWorldMatrix);\r\n\r\n this._target.parent = this._parent;\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SetParentAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n Action._GetTargetProperty(this._parent),\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.SetParentAction\"] = SetParentAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.ExecuteCodeAction\"] = ExecuteCodeAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.DoNothingAction\"] = DoNothingAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.StopAnimationAction\"] = StopAnimationAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.PlayAnimationAction\"] = PlayAnimationAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.IncrementValueAction\"] = IncrementValueAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.SetValueAction\"] = SetValueAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.SetStateAction\"] = SetStateAction;\r\n_TypeStore.RegisteredTypes[\"BABYLON.SetParentAction\"] = SetParentAction;"]}
|
|
1
|
+
{"version":3,"file":"directActions.js","sourceRoot":"","sources":["../../../sourceES6/core/Actions/directActions.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD;;;GAGG;AACH;IAAyC,uCAAM;IAU3C;;;;;;OAMG;IACH,6BAAY,cAAmB,EAAE,MAAW,EAAE,YAAoB,EAAE,SAAqB;QAAzF,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAGnC;QAFG,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;;IAClD,CAAC;IAED,cAAc;IACP,sCAAQ,GAAf;QACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,qCAAO,GAAd;QACI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACI,uCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;aACrD;SACJ,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,0BAAC;AAAD,CAAC,AAlDD,CAAyC,MAAM,GAkD9C;;AAED;;;;GAIG;AACH;IAAoC,kCAAM;IAQtC;;;;;;OAMG;IACH,wBAAY,cAAmB,EAAE,MAAW,EAAE,KAAa,EAAE,SAAqB;QAAlF,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAGnC;QAFG,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;;IAC1B,CAAC;IAED;;OAEG;IACI,gCAAO,GAAd;QACI,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,kCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;aACvC;SACJ,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,qBAAC;AAAD,CAAC,AA1CD,CAAoC,MAAM,GA0CzC;;AAED;;;;GAIG;AACH;IAAoC,kCAAM;IAetC;;;;;;;OAOG;IACH,wBAAY,cAAmB,EAAE,MAAW,EAAE,YAAoB,EAAE,KAAU,EAAE,SAAqB;QAArG,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAInC;QAHG,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;;IAClD,CAAC;IAED,cAAc;IACP,iCAAQ,GAAf;QACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,gCAAO,GAAd;QACI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEnD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5C;IACL,CAAC;IAED;;;;OAIG;IACI,kCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;gBAClD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aACvE;SACJ,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,qBAAC;AAAD,CAAC,AA9DD,CAAoC,MAAM,GA8DzC;;AAED;;;;GAIG;AACH;IAA0C,wCAAM;IAe5C;;;;;;;OAOG;IACH,8BAAY,cAAmB,EAAE,MAAW,EAAE,YAAoB,EAAE,KAAU,EAAE,SAAqB;QAArG,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAInC;QAHG,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;;IAClD,CAAC;IAED,cAAc;IACP,uCAAQ,GAAf;QACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtD,IAAI,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE;YAC3D,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;SACpF;IACL,CAAC;IAED;;OAEG;IACI,sCAAO,GAAd;QACI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAEpD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5C;IACL,CAAC;IAED;;;;OAIG;IACI,wCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,sBAAsB;YAC5B,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;gBAClD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aACvE;SACJ,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,2BAAC;AAAD,CAAC,AAlED,CAA0C,MAAM,GAkE/C;;AAED;;;GAGG;AACH;IAAyC,uCAAM;IAkB3C;;;;;;;;OAQG;IACH,6BAAY,cAAmB,EAAE,MAAW,EAAE,IAAY,EAAE,EAAU,EAAE,IAAc,EAAE,SAAqB;QAA7G,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAKnC;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;;IAC1B,CAAC;IAED,cAAc;IACP,sCAAQ,GAAf;IACA,CAAC;IAED;;OAEG;IACI,qCAAO,GAAd;QACI,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC3C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACI,uCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACtC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;aAC9E;SACJ,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,0BAAC;AAAD,CAAC,AA/DD,CAAyC,MAAM,GA+D9C;;AAED;;;GAGG;AACH;IAAyC,uCAAM;IAG3C;;;;;OAKG;IACH,6BAAY,cAAmB,EAAE,MAAW,EAAE,SAAqB;QAAnE,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAEnC;QADG,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;;IAC1B,CAAC;IAED,cAAc;IACP,sCAAQ,GAAf;IACA,CAAC;IAED;;OAEG;IACI,qCAAO,GAAd;QACI,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC3C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,uCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxD,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,0BAAC;AAAD,CAAC,AArCD,CAAyC,MAAM,GAqC9C;;AAED;;;GAGG;AACH;IAAqC,mCAAM;IACvC;;;;OAIG;IACH,yBAAY,cAAuB,EAAE,SAAqB;QAA9C,+BAAA,EAAA,kBAAuB;eAC/B,kBAAM,cAAc,EAAE,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,iCAAO,GAAd;IACA,CAAC;IAED;;;;OAIG;IACI,mCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,EAAE;SACjB,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,sBAAC;AAAD,CAAC,AA3BD,CAAqC,MAAM,GA2B1C;;AAED;;;GAGG;AACH;IAAmC,iCAAM;IAWrC;;;;;;OAMG;IACH,uBAAY,cAAmB,EAAE,QAAkB,EAAE,SAAqB,EAAE,wBAA+B;QAA/B,yCAAA,EAAA,+BAA+B;QAA3G,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAGnC;QAFG,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;;IAC7D,CAAC;IAED,cAAc;IACP,gCAAQ,GAAf;QACI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnC;IACL,CAAC;IAED;;OAEG;IACI,+BAAO,GAAd,UAAe,GAAgB;QAC3B,KAAqB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;YAA/B,IAAM,MAAM,SAAA;YACb,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,iCAAiC,EAAE,EAAE;gBAC9E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACvB;SACJ;IACL,CAAC;IAED;;;;OAIG;IACI,iCAAS,GAAhB,UAAiB,MAAW;QACxB,IAAI,mBAAmB,GAAG,iBAAM,UAAU,YAAC;YACvC,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;SACd,EAAE,MAAM,CAAC,CAAC;QAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACtE;QAED,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IACL,oBAAC;AAAD,CAAC,AA7DD,CAAmC,MAAM,GA6DxC;;AAED;;;GAGG;AACH;IAAuC,qCAAM;IAMzC;;;;;OAKG;IACH,2BAAY,cAAmB,EAAE,IAAgC,EAAE,SAAqB;QAAxF,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAEnC;QADG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACrB,CAAC;IAED;;OAEG;IACI,mCAAO,GAAd,UAAe,GAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACL,wBAAC;AAAD,CAAC,AAvBD,CAAuC,MAAM,GAuB5C;;AAED;;;GAGG;AACH;IAAqC,mCAAM;IAIvC;;;;;;OAMG;IACH,yBAAY,cAAmB,EAAE,MAAW,EAAE,MAAW,EAAE,SAAqB;QAAhF,YACI,kBAAM,cAAc,EAAE,SAAS,CAAC,SAGnC;QAFG,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;;IAC1B,CAAC;IAED,cAAc;IACP,kCAAQ,GAAf;IACA,CAAC;IAED;;OAEG;IACI,iCAAO,GAAd;QACI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE;YACtC,OAAO;SACV;QAED,IAAI,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;QACpE,uBAAuB,CAAC,MAAM,EAAE,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAErG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,mCAAS,GAAhB,UAAiB,MAAW;QACxB,OAAO,iBAAM,UAAU,YAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C;SACJ,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IACL,sBAAC;AAAD,CAAC,AAnDD,CAAqC,MAAM,GAmD1C;;AAED,aAAa,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;AAC1D,aAAa,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,CAAC;AAC9D,aAAa,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;AAC1D,aAAa,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;AAClE,aAAa,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;AAClE,aAAa,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;AACpE,aAAa,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;AACxD,aAAa,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;AACxD,aAAa,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC","sourcesContent":["import { Logger } from \"../Misc/logger\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Action } from \"./action\";\r\nimport { Condition } from \"./condition\";\r\n\r\nimport { RegisterClass } from '../Misc/typeStore';\r\n\r\ndeclare type ActionEvent = import(\"./actionEvent\").ActionEvent;\r\n\r\n/**\r\n * This defines an action responsible to toggle a boolean once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SwitchBooleanAction extends Action {\r\n /**\r\n * The path to the boolean property in the target object\r\n */\r\n public propertyPath: string;\r\n\r\n private _target: any;\r\n private _effectiveTarget: any;\r\n private _property: string;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the boolean\r\n * @param propertyPath defines the path to the boolean property in the target object\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, propertyPath: string, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.propertyPath = propertyPath;\r\n this._target = this._effectiveTarget = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n }\r\n\r\n /**\r\n * Execute the action toggle the boolean value.\r\n */\r\n public execute(): void {\r\n this._effectiveTarget[this._property] = !this._effectiveTarget[this._property];\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SwitchBooleanAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to set a the state field of the target\r\n * to a desired value once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SetStateAction extends Action {\r\n /**\r\n * The value to store in the state field.\r\n */\r\n public value: string;\r\n\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the state property\r\n * @param value defines the value to store in the state field\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, value: string, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.value = value;\r\n this._target = target;\r\n }\r\n\r\n /**\r\n * Execute the action and store the value on the target state property.\r\n */\r\n public execute(): void {\r\n this._target.state = this.value;\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SetStateAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"value\", value: this.value }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to set a property of the target\r\n * to a desired value once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SetValueAction extends Action {\r\n /**\r\n * The path of the property to set in the target.\r\n */\r\n public propertyPath: string;\r\n\r\n /**\r\n * The value to set in the property\r\n */\r\n public value: any;\r\n\r\n private _target: any;\r\n private _effectiveTarget: any;\r\n private _property: string;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the property\r\n * @param propertyPath defines the path of the property to set in the target\r\n * @param value defines the value to set in the property\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, propertyPath: string, value: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.propertyPath = propertyPath;\r\n this.value = value;\r\n this._target = this._effectiveTarget = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n }\r\n\r\n /**\r\n * Execute the action and set the targeted property to the desired value.\r\n */\r\n public execute(): void {\r\n this._effectiveTarget[this._property] = this.value;\r\n\r\n if (this._target.markAsDirty) {\r\n this._target.markAsDirty(this._property);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SetValueAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath },\r\n { name: \"value\", value: Action._SerializeValueAsString(this.value) }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to increment the target value\r\n * to a desired value once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class IncrementValueAction extends Action {\r\n /**\r\n * The path of the property to increment in the target.\r\n */\r\n public propertyPath: string;\r\n\r\n /**\r\n * The value we should increment the property by.\r\n */\r\n public value: any;\r\n\r\n private _target: any;\r\n private _effectiveTarget: any;\r\n private _property: string;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the object containing the property\r\n * @param propertyPath defines the path of the property to increment in the target\r\n * @param value defines the value value we should increment the property by\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, propertyPath: string, value: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.propertyPath = propertyPath;\r\n this.value = value;\r\n this._target = this._effectiveTarget = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath);\r\n this._property = this._getProperty(this.propertyPath);\r\n\r\n if (typeof this._effectiveTarget[this._property] !== \"number\") {\r\n Logger.Warn(\"Warning: IncrementValueAction can only be used with number values\");\r\n }\r\n }\r\n\r\n /**\r\n * Execute the action and increment the target of the value amount.\r\n */\r\n public execute(): void {\r\n this._effectiveTarget[this._property] += this.value;\r\n\r\n if (this._target.markAsDirty) {\r\n this._target.markAsDirty(this._property);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"IncrementValueAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"propertyPath\", value: this.propertyPath },\r\n { name: \"value\", value: Action._SerializeValueAsString(this.value) }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to start an animation once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class PlayAnimationAction extends Action {\r\n /**\r\n * Where the animation should start (animation frame)\r\n */\r\n public from: number;\r\n\r\n /**\r\n * Where the animation should stop (animation frame)\r\n */\r\n public to: number;\r\n\r\n /**\r\n * Define if the animation should loop or stop after the first play.\r\n */\r\n public loop?: boolean;\r\n\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the target animation or animation name\r\n * @param from defines from where the animation should start (animation frame)\r\n * @param to defines where the animation should stop (animation frame)\r\n * @param loop defines if the animation should loop or stop after the first play\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, from: number, to: number, loop?: boolean, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.from = from;\r\n this.to = to;\r\n this.loop = loop;\r\n this._target = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Execute the action and play the animation.\r\n */\r\n public execute(): void {\r\n var scene = this._actionManager.getScene();\r\n scene.beginAnimation(this._target, this.from, this.to, this.loop);\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"PlayAnimationAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n { name: \"from\", value: String(this.from) },\r\n { name: \"to\", value: String(this.to) },\r\n { name: \"loop\", value: Action._SerializeValueAsString(this.loop) || false }\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to stop an animation once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class StopAnimationAction extends Action {\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the target animation or animation name\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this._target = target;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Execute the action and stop the animation.\r\n */\r\n public execute(): void {\r\n var scene = this._actionManager.getScene();\r\n scene.stopAnimation(this._target);\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"StopAnimationAction\",\r\n properties: [Action._GetTargetProperty(this._target)]\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible that does nothing once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class DoNothingAction extends Action {\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any = 0, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n }\r\n\r\n /**\r\n * Execute the action and do nothing.\r\n */\r\n public execute(): void {\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"DoNothingAction\",\r\n properties: []\r\n }, parent);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to trigger several actions once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class CombineAction extends Action {\r\n /**\r\n * The list of aggregated animations to run.\r\n */\r\n public children: Action[];\r\n\r\n /**\r\n * defines if the children actions conditions should be check before execution\r\n */\r\n public enableChildrenConditions: boolean;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param children defines the list of aggregated animations to run\r\n * @param condition defines the trigger related conditions\r\n * @param enableChildrenConditions defines if the children actions conditions should be check before execution\r\n */\r\n constructor(triggerOptions: any, children: Action[], condition?: Condition, enableChildrenConditions = true) {\r\n super(triggerOptions, condition);\r\n this.children = children;\r\n this.enableChildrenConditions = enableChildrenConditions;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n for (var index = 0; index < this.children.length; index++) {\r\n this.children[index]._actionManager = this._actionManager;\r\n this.children[index]._prepare();\r\n }\r\n }\r\n\r\n /**\r\n * Execute the action and executes all the aggregated actions.\r\n */\r\n public execute(evt: ActionEvent): void {\r\n for (const action of this.children) {\r\n if (!this.enableChildrenConditions || action._evaluateConditionForCurrentFrame()) {\r\n action.execute(evt);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n var serializationObject = super._serialize({\r\n name: \"CombineAction\",\r\n properties: [],\r\n combine: []\r\n }, parent);\r\n\r\n for (var i = 0; i < this.children.length; i++) {\r\n serializationObject.combine.push(this.children[i].serialize(null));\r\n }\r\n\r\n return serializationObject;\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to run code (external event) once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class ExecuteCodeAction extends Action {\r\n /**\r\n * The callback function to run.\r\n */\r\n public func: (evt: ActionEvent) => void;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param func defines the callback function to run\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, func: (evt: ActionEvent) => void, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this.func = func;\r\n }\r\n\r\n /**\r\n * Execute the action and run the attached code.\r\n */\r\n public execute(evt: ActionEvent): void {\r\n this.func(evt);\r\n }\r\n}\r\n\r\n/**\r\n * This defines an action responsible to set the parent property of the target once triggered.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport class SetParentAction extends Action {\r\n private _parent: any;\r\n private _target: any;\r\n\r\n /**\r\n * Instantiate the action\r\n * @param triggerOptions defines the trigger options\r\n * @param target defines the target containing the parent property\r\n * @param parent defines from where the animation should start (animation frame)\r\n * @param condition defines the trigger related conditions\r\n */\r\n constructor(triggerOptions: any, target: any, parent: any, condition?: Condition) {\r\n super(triggerOptions, condition);\r\n this._target = target;\r\n this._parent = parent;\r\n }\r\n\r\n /** @hidden */\r\n public _prepare(): void {\r\n }\r\n\r\n /**\r\n * Execute the action and set the parent property.\r\n */\r\n public execute(): void {\r\n if (this._target.parent === this._parent) {\r\n return;\r\n }\r\n\r\n var invertParentWorldMatrix = this._parent.getWorldMatrix().clone();\r\n invertParentWorldMatrix.invert();\r\n\r\n this._target.position = Vector3.TransformCoordinates(this._target.position, invertParentWorldMatrix);\r\n\r\n this._target.parent = this._parent;\r\n }\r\n\r\n /**\r\n * Serializes the actions and its related information.\r\n * @param parent defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(parent: any): any {\r\n return super._serialize({\r\n name: \"SetParentAction\",\r\n properties: [\r\n Action._GetTargetProperty(this._target),\r\n Action._GetTargetProperty(this._parent),\r\n ]\r\n }, parent);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.SetParentAction\", SetParentAction);\r\nRegisterClass(\"BABYLON.ExecuteCodeAction\", ExecuteCodeAction);\r\nRegisterClass(\"BABYLON.DoNothingAction\", DoNothingAction);\r\nRegisterClass(\"BABYLON.StopAnimationAction\", StopAnimationAction);\r\nRegisterClass(\"BABYLON.PlayAnimationAction\", PlayAnimationAction);\r\nRegisterClass(\"BABYLON.IncrementValueAction\", IncrementValueAction);\r\nRegisterClass(\"BABYLON.SetValueAction\", SetValueAction);\r\nRegisterClass(\"BABYLON.SetStateAction\", SetStateAction);\r\nRegisterClass(\"BABYLON.SetParentAction\", SetParentAction);"]}
|