@babylonjs/core 5.0.0-beta.3 → 5.0.0-beta.7
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/actionManager.d.ts +1 -1
- package/Actions/actionManager.js +5 -1
- package/Actions/actionManager.js.map +1 -1
- package/Audio/analyser.d.ts +2 -1
- package/Audio/analyser.js +5 -0
- package/Audio/analyser.js.map +1 -1
- package/Audio/audioSceneComponent.d.ts +1 -1
- package/Audio/audioSceneComponent.js +5 -0
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Audio/sound.d.ts +1 -1
- package/Audio/sound.js +8 -1
- package/Audio/sound.js.map +1 -1
- package/Audio/soundTrack.d.ts +2 -1
- package/Audio/soundTrack.js +5 -0
- package/Audio/soundTrack.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +5 -0
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +29 -26
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js +2 -0
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Bones/bone.d.ts +2 -1
- package/Bones/bone.js +28 -18
- package/Bones/bone.js.map +1 -1
- package/Bones/skeleton.js +3 -3
- package/Bones/skeleton.js.map +1 -1
- package/Buffers/buffer.d.ts +4 -0
- package/Buffers/buffer.js +13 -3
- package/Buffers/buffer.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -0
- package/Cameras/Inputs/freeCameraMouseInput.js +6 -3
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraTouchInput.js +2 -4
- package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
- package/Cameras/Stereoscopic/anaglyphArcRotateCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js.map +1 -1
- package/Cameras/Stereoscopic/anaglyphFreeCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/anaglyphFreeCamera.js.map +1 -1
- package/Cameras/Stereoscopic/anaglyphGamepadCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/anaglyphGamepadCamera.js.map +1 -1
- package/Cameras/Stereoscopic/anaglyphUniversalCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/anaglyphUniversalCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicFreeCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/stereoscopicFreeCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicGamepadCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicUniversalCamera.d.ts +1 -1
- package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js.map +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.d.ts +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
- package/Cameras/VR/vrDeviceOrientationFreeCamera.d.ts +1 -1
- package/Cameras/VR/vrDeviceOrientationFreeCamera.js.map +1 -1
- package/Cameras/VR/vrDeviceOrientationGamepadCamera.d.ts +1 -1
- package/Cameras/VR/vrDeviceOrientationGamepadCamera.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.d.ts +1 -0
- package/Cameras/VR/vrExperienceHelper.js +1 -0
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/webVRCamera.d.ts +2 -1
- package/Cameras/VR/webVRCamera.js +3 -2
- package/Cameras/VR/webVRCamera.js.map +1 -1
- package/Cameras/arcRotateCamera.d.ts +1 -1
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.d.ts +1 -1
- package/Cameras/camera.js +1 -1
- package/Cameras/camera.js.map +1 -1
- package/Cameras/deviceOrientationCamera.d.ts +1 -1
- package/Cameras/deviceOrientationCamera.js.map +1 -1
- package/Cameras/flyCamera.d.ts +1 -1
- package/Cameras/flyCamera.js.map +1 -1
- package/Cameras/followCamera.d.ts +1 -1
- package/Cameras/followCamera.js.map +1 -1
- package/Cameras/freeCamera.d.ts +1 -1
- package/Cameras/freeCamera.js.map +1 -1
- package/Cameras/gamepadCamera.d.ts +1 -1
- package/Cameras/gamepadCamera.js.map +1 -1
- package/Cameras/targetCamera.d.ts +1 -1
- package/Cameras/targetCamera.js.map +1 -1
- package/Cameras/touchCamera.d.ts +1 -1
- package/Cameras/touchCamera.js.map +1 -1
- package/Cameras/universalCamera.d.ts +1 -1
- package/Cameras/universalCamera.js.map +1 -1
- package/Cameras/virtualJoysticksCamera.d.ts +1 -1
- package/Cameras/virtualJoysticksCamera.js.map +1 -1
- package/Collisions/collider.d.ts +1 -1
- package/Collisions/collider.js +48 -2
- package/Collisions/collider.js.map +1 -1
- package/Compute/computeEffect.js +2 -2
- package/Compute/computeEffect.js.map +1 -1
- package/Culling/Octrees/octreeSceneComponent.d.ts +1 -1
- package/Culling/Octrees/octreeSceneComponent.js +5 -0
- package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
- package/Culling/ray.d.ts +6 -4
- package/Culling/ray.js +31 -10
- package/Culling/ray.js.map +1 -1
- package/Debug/axesViewer.d.ts +1 -1
- package/Debug/axesViewer.js +5 -0
- package/Debug/axesViewer.js.map +1 -1
- package/Debug/debugLayer.d.ts +1 -1
- package/Debug/debugLayer.js +6 -2
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/physicsViewer.d.ts +1 -1
- package/Debug/physicsViewer.js +3 -0
- package/Debug/physicsViewer.js.map +1 -1
- package/DeviceInput/Helpers/eventFactory.d.ts +1 -1
- package/DeviceInput/Helpers/eventFactory.js +2 -5
- package/DeviceInput/Helpers/eventFactory.js.map +1 -1
- package/DeviceInput/InputDevices/deviceEnums.d.ts +55 -2
- package/DeviceInput/InputDevices/deviceEnums.js +54 -0
- package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSource.d.ts +35 -0
- package/DeviceInput/InputDevices/deviceSource.js +38 -0
- package/DeviceInput/InputDevices/deviceSource.js.map +1 -0
- package/DeviceInput/InputDevices/deviceSourceManager.d.ts +14 -72
- package/DeviceInput/InputDevices/deviceSourceManager.js +10 -180
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/InputDevices/deviceTypes.d.ts +2 -2
- package/DeviceInput/InputDevices/deviceTypes.js.map +1 -1
- package/DeviceInput/{Interfaces → InputDevices}/inputInterfaces.d.ts +1 -5
- package/DeviceInput/{Interfaces → InputDevices}/inputInterfaces.js +0 -0
- package/DeviceInput/InputDevices/inputInterfaces.js.map +1 -0
- package/DeviceInput/InputDevices/internalDeviceSourceManager.d.ts +46 -0
- package/DeviceInput/InputDevices/internalDeviceSourceManager.js +144 -0
- package/DeviceInput/InputDevices/internalDeviceSourceManager.js.map +1 -0
- package/DeviceInput/{Implementations → InputDevices}/nativeDeviceInputSystem.d.ts +3 -7
- package/DeviceInput/{Implementations → InputDevices}/nativeDeviceInputSystem.js +11 -16
- package/DeviceInput/InputDevices/nativeDeviceInputSystem.js.map +1 -0
- package/DeviceInput/{Implementations → InputDevices}/webDeviceInputSystem.d.ts +11 -15
- package/DeviceInput/{Implementations → InputDevices}/webDeviceInputSystem.js +121 -146
- package/DeviceInput/InputDevices/webDeviceInputSystem.js.map +1 -0
- package/DeviceInput/index.d.ts +1 -5
- package/DeviceInput/index.js +1 -5
- package/DeviceInput/index.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.d.ts +1 -1
- package/Engines/Extensions/engine.cubeTexture.js +6 -2
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.multiview.d.ts +5 -0
- package/Engines/Extensions/engine.multiview.js +4 -1
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +3 -2
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
- package/Engines/Processors/shaderCodeInliner.js +13 -13
- package/Engines/Processors/shaderCodeInliner.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js +4 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +9 -9
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +13 -13
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +30 -30
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +13 -6
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/engine.d.ts +2 -6
- package/Engines/engine.js +1 -5
- package/Engines/engine.js.map +1 -1
- package/Engines/engineCapabilities.d.ts +4 -0
- package/Engines/engineCapabilities.js.map +1 -1
- package/Engines/nativeEngine.d.ts +1 -0
- package/Engines/nativeEngine.js +39 -12
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.js +3 -1
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +8 -0
- package/Engines/renderTargetWrapper.js +20 -0
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +17 -1
- package/Engines/thinEngine.js +50 -20
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +0 -4
- package/Engines/webgpuEngine.js +7 -14
- package/Engines/webgpuEngine.js.map +1 -1
- package/Gamepads/Controllers/daydreamController.js +1 -1
- package/Gamepads/Controllers/daydreamController.js.map +1 -1
- package/Gamepads/Controllers/oculusTouchController.js +2 -2
- package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
- package/Gamepads/Controllers/webVRController.d.ts +1 -0
- package/Gamepads/Controllers/webVRController.js +1 -0
- package/Gamepads/Controllers/webVRController.js.map +1 -1
- package/Gamepads/gamepadManager.js +1 -1
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gizmos/gizmoManager.d.ts +2 -0
- package/Gizmos/gizmoManager.js +28 -24
- package/Gizmos/gizmoManager.js.map +1 -1
- package/Helpers/sceneHelpers.d.ts +1 -0
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Inputs/scene.inputManager.d.ts +2 -2
- package/Inputs/scene.inputManager.js +11 -13
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Instrumentation/sceneInstrumentation.js +2 -2
- package/Instrumentation/sceneInstrumentation.js.map +1 -1
- package/Layers/effectLayer.d.ts +1 -1
- package/Layers/effectLayer.js +1 -1
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/effectLayerSceneComponent.d.ts +1 -1
- package/Layers/effectLayerSceneComponent.js +7 -3
- package/Layers/effectLayerSceneComponent.js.map +1 -1
- package/Layers/glowLayer.d.ts +1 -1
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +1 -1
- package/Layers/highlightLayer.js +2 -1
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layer.d.ts +2 -2
- package/Layers/layer.js.map +1 -1
- package/Layers/layerSceneComponent.d.ts +1 -1
- package/Layers/layerSceneComponent.js +7 -3
- package/Layers/layerSceneComponent.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +2 -2
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +2 -2
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.js +115 -29
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/loadingScreen.js +8 -8
- package/Loading/loadingScreen.js.map +1 -1
- package/Loading/sceneLoader.js +3 -3
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.d.ts +1 -1
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +37 -0
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +117 -0
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -0
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js +12 -12
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/fogBlock.js +5 -5
- package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +13 -13
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/index.d.ts +1 -0
- package/Materials/Node/Blocks/Dual/index.js +1 -0
- package/Materials/Node/Blocks/Dual/index.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.js +10 -10
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +28 -28
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +7 -7
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.js +32 -32
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/derivativeBlock.js +2 -2
- package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/discardBlock.js +1 -1
- package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +1 -1
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +10 -10
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +7 -7
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +12 -12
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +7 -7
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/twirlBlock.js +4 -4
- package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.d.ts +2 -1
- package/Materials/Node/Blocks/Input/inputBlock.js +29 -24
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js +5 -5
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js +5 -5
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +33 -33
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +11 -11
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.js +11 -11
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.js +3 -3
- package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js +1 -1
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js +1 -1
- 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 +3 -3
- package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/instancesBlock.js +3 -3
- package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +5 -5
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +16 -16
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +1 -1
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/addBlock.js +1 -1
- package/Materials/Node/Blocks/addBlock.js.map +1 -1
- package/Materials/Node/Blocks/arcTan2Block.js +1 -1
- package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
- package/Materials/Node/Blocks/clampBlock.js +3 -3
- package/Materials/Node/Blocks/clampBlock.js.map +1 -1
- package/Materials/Node/Blocks/cloudBlock.js +7 -7
- package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorMergerBlock.js +8 -8
- 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 +10 -10
- package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
- package/Materials/Node/Blocks/crossBlock.js +1 -1
- package/Materials/Node/Blocks/crossBlock.js.map +1 -1
- package/Materials/Node/Blocks/customBlock.js +1 -1
- package/Materials/Node/Blocks/customBlock.js.map +1 -1
- package/Materials/Node/Blocks/desaturateBlock.js +4 -4
- package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
- package/Materials/Node/Blocks/distanceBlock.js +1 -1
- package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
- package/Materials/Node/Blocks/divideBlock.js +1 -1
- package/Materials/Node/Blocks/divideBlock.js.map +1 -1
- package/Materials/Node/Blocks/dotBlock.js +1 -1
- package/Materials/Node/Blocks/dotBlock.js.map +1 -1
- package/Materials/Node/Blocks/elbowBlock.d.ts +27 -0
- package/Materials/Node/Blocks/elbowBlock.js +60 -0
- package/Materials/Node/Blocks/elbowBlock.js.map +1 -0
- package/Materials/Node/Blocks/fresnelBlock.js +2 -2
- package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.js +8 -8
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/index.d.ts +1 -0
- package/Materials/Node/Blocks/index.js +1 -0
- package/Materials/Node/Blocks/index.js.map +1 -1
- package/Materials/Node/Blocks/lengthBlock.js +1 -1
- package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
- package/Materials/Node/Blocks/lerpBlock.js +1 -1
- package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
- package/Materials/Node/Blocks/matrixBuilderBlock.js +1 -1
- package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
- package/Materials/Node/Blocks/maxBlock.js +1 -1
- package/Materials/Node/Blocks/maxBlock.js.map +1 -1
- package/Materials/Node/Blocks/minBlock.js +1 -1
- package/Materials/Node/Blocks/minBlock.js.map +1 -1
- package/Materials/Node/Blocks/modBlock.js +1 -1
- package/Materials/Node/Blocks/modBlock.js.map +1 -1
- package/Materials/Node/Blocks/multiplyBlock.js +1 -1
- package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/nLerpBlock.js +1 -1
- package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
- package/Materials/Node/Blocks/negateBlock.js +1 -1
- 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 +1 -1
- package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/oneMinusBlock.js +1 -1
- package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
- package/Materials/Node/Blocks/posterizeBlock.js +1 -1
- package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/powBlock.js +1 -1
- package/Materials/Node/Blocks/powBlock.js.map +1 -1
- package/Materials/Node/Blocks/randomNumberBlock.js +2 -2
- package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
- package/Materials/Node/Blocks/reciprocalBlock.js +1 -1
- package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
- package/Materials/Node/Blocks/reflectBlock.js +1 -1
- package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
- package/Materials/Node/Blocks/refractBlock.js +1 -1
- package/Materials/Node/Blocks/refractBlock.js.map +1 -1
- package/Materials/Node/Blocks/remapBlock.js +3 -3
- package/Materials/Node/Blocks/remapBlock.js.map +1 -1
- package/Materials/Node/Blocks/replaceColorBlock.js +3 -3
- package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
- package/Materials/Node/Blocks/rotate2dBlock.js +1 -1
- package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
- package/Materials/Node/Blocks/scaleBlock.js +1 -1
- package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
- package/Materials/Node/Blocks/simplexPerlin3DBlock.js +1 -1
- package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
- package/Materials/Node/Blocks/smoothStepBlock.js +1 -1
- package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
- package/Materials/Node/Blocks/stepBlock.js +1 -1
- package/Materials/Node/Blocks/stepBlock.js.map +1 -1
- package/Materials/Node/Blocks/subtractBlock.js +1 -1
- package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.js +13 -13
- package/Materials/Node/Blocks/transformBlock.js.map +1 -1
- package/Materials/Node/Blocks/trigonometryBlock.js +2 -2
- package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorMergerBlock.js +22 -22
- package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorSplitterBlock.js +8 -8
- package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
- package/Materials/Node/Blocks/viewDirectionBlock.js +1 -1
- package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/voronoiNoiseBlock.js +5 -5
- package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -1
- package/Materials/Node/Blocks/waveBlock.js +3 -3
- package/Materials/Node/Blocks/waveBlock.js.map +1 -1
- package/Materials/Node/Blocks/worleyNoise3DBlock.js +5 -5
- package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
- package/Materials/Node/Enums/nodeMaterialSystemValues.d.ts +3 -1
- package/Materials/Node/Enums/nodeMaterialSystemValues.js +2 -0
- package/Materials/Node/Enums/nodeMaterialSystemValues.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +4 -0
- package/Materials/Node/nodeMaterial.js +22 -11
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +12 -12
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.js +24 -24
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.js +1 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +2 -1
- package/Materials/PBR/pbrBaseMaterial.js +4 -3
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
- package/Materials/PBR/pbrMaterial.d.ts +1 -1
- package/Materials/PBR/pbrMaterial.js +2 -3
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/PBR/pbrMetallicRoughnessMaterial.d.ts +1 -1
- package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.d.ts +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js +8 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.js +2 -2
- package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
- package/Materials/Textures/MultiviewRenderTarget.d.ts +2 -1
- package/Materials/Textures/MultiviewRenderTarget.js +10 -2
- package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +1 -1
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/equiRectangularCubeTexture.js +1 -1
- package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
- package/Materials/Textures/internalTexture.d.ts +2 -0
- package/Materials/Textures/internalTexture.js +2 -0
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.d.ts +2 -2
- package/Materials/Textures/mirrorTexture.js +7 -3
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +1 -1
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/prePassRenderTarget.d.ts +1 -1
- package/Materials/Textures/prePassRenderTarget.js.map +1 -1
- package/Materials/Textures/refractionTexture.d.ts +1 -1
- package/Materials/Textures/refractionTexture.js +2 -2
- package/Materials/Textures/refractionTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +1 -1
- package/Materials/Textures/renderTargetTexture.js +2 -2
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +1 -1
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/videoTexture.js +1 -0
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/effect.js +3 -3
- package/Materials/effect.js.map +1 -1
- package/Materials/material.d.ts +3 -1
- package/Materials/material.js +11 -3
- package/Materials/material.js.map +1 -1
- package/Materials/materialHelper.js +9 -1
- package/Materials/materialHelper.js.map +1 -1
- package/Materials/materialPluginManager.js +3 -3
- package/Materials/materialPluginManager.js.map +1 -1
- package/Materials/multiMaterial.d.ts +3 -1
- package/Materials/multiMaterial.js +13 -11
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/pushMaterial.d.ts +1 -1
- package/Materials/pushMaterial.js.map +1 -1
- package/Materials/shaderMaterial.js +8 -4
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.d.ts +1 -1
- package/Materials/shadowDepthWrapper.js +3 -3
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.d.ts +2 -6
- package/Materials/standardMaterial.js +5 -10
- package/Materials/standardMaterial.js.map +1 -1
- package/Maths/math.size.js +1 -1
- package/Maths/math.size.js.map +1 -1
- package/Maths/math.vector.d.ts +4 -2
- package/Maths/math.vector.js +34 -32
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/cylinderBuilder.d.ts +1 -1
- package/Meshes/Builders/cylinderBuilder.js +1 -1
- package/Meshes/Builders/cylinderBuilder.js.map +1 -1
- package/Meshes/Builders/linesBuilder.js.map +1 -1
- package/Meshes/Compression/dracoCompression.d.ts +3 -0
- package/Meshes/Compression/dracoCompression.js +23 -7
- package/Meshes/Compression/dracoCompression.js.map +1 -1
- package/Meshes/abstractMesh.d.ts +6 -0
- package/Meshes/abstractMesh.js +18 -2
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.d.ts +1 -1
- package/Meshes/geometry.js +7 -3
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/groundMesh.d.ts +1 -1
- package/Meshes/groundMesh.js.map +1 -1
- package/Meshes/mesh.js +21 -6
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.lts.d.ts +1 -1
- package/Meshes/mesh.lts.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +1 -1
- package/Meshes/mesh.vertexData.js +2 -2
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/polygonMesh.js +2 -2
- package/Meshes/polygonMesh.js.map +1 -1
- package/Meshes/subMesh.js +1 -2
- package/Meshes/subMesh.js.map +1 -1
- package/Meshes/subMesh.project.js +1 -2
- package/Meshes/subMesh.project.js.map +1 -1
- package/Meshes/thinInstanceMesh.js +5 -0
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/trailMesh.d.ts +1 -1
- package/Meshes/trailMesh.js.map +1 -1
- package/Meshes/transformNode.js +40 -13
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +5 -0
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +13 -2
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +6 -12
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.js +6 -6
- package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
- package/Misc/assetsManager.d.ts +2 -1
- package/Misc/assetsManager.js +15 -1
- package/Misc/assetsManager.js.map +1 -1
- package/Misc/basis.js +1 -1
- package/Misc/basis.js.map +1 -1
- package/Misc/brdfTextureTools.js +4 -1
- package/Misc/brdfTextureTools.js.map +1 -1
- package/Misc/dds.js +7 -0
- package/Misc/dds.js.map +1 -1
- package/Misc/devTools.js +1 -1
- package/Misc/devTools.js.map +1 -1
- package/Misc/environmentTextureTools.js +2 -2
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.js +4 -4
- package/Misc/fileTools.js.map +1 -1
- package/Misc/index.d.ts +1 -0
- package/Misc/index.js +1 -0
- package/Misc/index.js.map +1 -1
- package/Misc/khronosTextureContainer2.js +4 -3
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/reflector.js +6 -6
- package/Misc/reflector.js.map +1 -1
- package/Misc/tools.js +15 -13
- package/Misc/tools.js.map +1 -1
- package/Misc/uniqueIdGenerator.js +1 -1
- package/Misc/uniqueIdGenerator.js.map +1 -1
- package/Offline/database.js +1 -1
- package/Offline/database.js.map +1 -1
- package/Particles/baseParticleSystem.d.ts +4 -1
- package/Particles/baseParticleSystem.js +20 -5
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.js +2 -1
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particleHelper.js +2 -2
- package/Particles/particleHelper.js.map +1 -1
- package/Physics/Plugins/ammoJSPlugin.d.ts +5 -1
- package/Physics/Plugins/ammoJSPlugin.js +16 -11
- package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
- package/Physics/physicsEngine.d.ts +1 -0
- package/Physics/physicsEngine.js +3 -1
- package/Physics/physicsEngine.js.map +1 -1
- package/Physics/physicsImpostor.d.ts +2 -2
- package/Physics/physicsImpostor.js.map +1 -1
- package/PostProcesses/blurPostProcess.js +5 -5
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +1 -1
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.js +1 -1
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/postProcessManager.js +2 -2
- package/PostProcesses/postProcessManager.js.map +1 -1
- package/Probes/reflectionProbe.js +2 -2
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/depthPeelingRenderer.js +3 -3
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +8 -8
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.js +1 -1
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/utilityLayerRenderer.js +4 -0
- package/Rendering/utilityLayerRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/color.fragment.js +1 -1
- package/Shaders/color.fragment.js.map +1 -1
- package/Shaders/color.vertex.js +1 -1
- package/Shaders/color.vertex.js.map +1 -1
- package/Shaders/default.fragment.js +1 -1
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.js +1 -1
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/geometry.vertex.js +1 -1
- package/Shaders/geometry.vertex.js.map +1 -1
- package/Shaders/pbr.vertex.js +1 -1
- package/Shaders/pbr.vertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
- package/Sprites/spriteManager.js +9 -10
- package/Sprites/spriteManager.js.map +1 -1
- package/Sprites/spriteMap.js +2 -2
- package/Sprites/spriteMap.js.map +1 -1
- package/Sprites/spriteRenderer.js +1 -1
- package/Sprites/spriteRenderer.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.js +15 -9
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRDOMOverlay.js +1 -1
- package/XR/features/WebXRDOMOverlay.js.map +1 -1
- package/XR/features/WebXRHandTracking.js +30 -30
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRImageTracking.js +2 -2
- package/XR/features/WebXRImageTracking.js.map +1 -1
- package/XR/features/WebXRLayers.d.ts +28 -5
- package/XR/features/WebXRLayers.js +54 -20
- package/XR/features/WebXRLayers.js.map +1 -1
- package/XR/features/WebXRNearInteraction.d.ts +35 -3
- package/XR/features/WebXRNearInteraction.js +201 -40
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/motionController/webXRAbstractMotionController.js +1 -1
- package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
- package/XR/motionController/webXRMotionControllerManager.js +2 -2
- package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
- package/XR/motionController/webXRProfiledMotionController.js +1 -1
- package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
- package/XR/webXRCamera.js +17 -4
- package/XR/webXRCamera.js.map +1 -1
- package/XR/webXRDefaultExperience.js +3 -0
- package/XR/webXRDefaultExperience.js.map +1 -1
- package/XR/webXREnterExitUI.js +2 -2
- package/XR/webXREnterExitUI.js.map +1 -1
- package/XR/webXRExperienceHelper.js +3 -2
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRFeaturesManager.js +6 -6
- package/XR/webXRFeaturesManager.js.map +1 -1
- package/XR/webXRInputSource.js +3 -3
- package/XR/webXRInputSource.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.d.ts +3 -2
- package/XR/webXRRenderTargetTextureProvider.js +37 -18
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
- package/XR/webXRSessionManager.d.ts +1 -0
- package/XR/webXRSessionManager.js +6 -1
- package/XR/webXRSessionManager.js.map +1 -1
- package/assetContainer.d.ts +1 -1
- package/assetContainer.js +4 -0
- package/assetContainer.js.map +1 -1
- package/node.d.ts +1 -1
- package/node.js.map +1 -1
- package/package.json +22 -13
- package/scene.d.ts +5 -2
- package/scene.js +31 -5
- package/scene.js.map +1 -1
- package/DeviceInput/Implementations/nativeDeviceInputSystem.js.map +0 -1
- package/DeviceInput/Implementations/webDeviceInputSystem.js.map +0 -1
- package/DeviceInput/Interfaces/inputInterfaces.js.map +0 -1
- package/DeviceInput/deviceInputSystem.d.ts +0 -60
- package/DeviceInput/deviceInputSystem.js +0 -84
- package/DeviceInput/deviceInputSystem.js.map +0 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { DomManagement } from "../../Misc/domManagement.js";
|
|
1
2
|
import { Tools } from "../../Misc/tools.js";
|
|
2
3
|
import { DeviceEventFactory } from "../Helpers/eventFactory.js";
|
|
3
|
-
import { DeviceType, PointerInput } from "
|
|
4
|
+
import { DeviceType, PointerInput } from "./deviceEnums.js";
|
|
5
|
+
var MAX_KEYCODES = 255;
|
|
6
|
+
var MAX_POINTER_INPUTS = Object.keys(PointerInput).length / 2;
|
|
4
7
|
/** @hidden */
|
|
5
|
-
var
|
|
6
|
-
function
|
|
8
|
+
var WebDeviceInputSystem = /** @class */ (function () {
|
|
9
|
+
function WebDeviceInputSystem(engine) {
|
|
7
10
|
// Private Members
|
|
8
11
|
this._inputs = [];
|
|
9
12
|
this._keyboardActive = false;
|
|
@@ -18,10 +21,8 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
18
21
|
this._pointerWheelEvent = function (evt) { };
|
|
19
22
|
this._pointerBlurEvent = function (evt) { };
|
|
20
23
|
this._mouseId = -1;
|
|
21
|
-
this._isUsingFirefox =
|
|
22
|
-
|
|
23
|
-
this._activeTouchIds = [];
|
|
24
|
-
this._rollingTouchId = 0; // Rolling ID number to assign; emulates Chrome assignment
|
|
24
|
+
this._isUsingFirefox = DomManagement.IsNavigatorAvailable() && navigator.userAgent && navigator.userAgent.indexOf("Firefox") !== -1;
|
|
25
|
+
this._maxTouchPoints = 0;
|
|
25
26
|
this._pointerInputClearObserver = null;
|
|
26
27
|
this._gamepadConnectedEvent = function (evt) { };
|
|
27
28
|
this._gamepadDisconnectedEvent = function (evt) { };
|
|
@@ -30,9 +31,9 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
30
31
|
this.onDeviceConnected = function (deviceType, deviceSlot) { };
|
|
31
32
|
this.onDeviceDisconnected = function (deviceType, deviceSlot) { };
|
|
32
33
|
this.onInputChanged = function (deviceEvent) { };
|
|
33
|
-
this.
|
|
34
|
+
this._configureEvents();
|
|
34
35
|
}
|
|
35
|
-
Object.defineProperty(
|
|
36
|
+
Object.defineProperty(WebDeviceInputSystem.prototype, "onDeviceConnected", {
|
|
36
37
|
get: function () {
|
|
37
38
|
return this._onDeviceConnected;
|
|
38
39
|
},
|
|
@@ -55,26 +56,6 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
55
56
|
enumerable: false,
|
|
56
57
|
configurable: true
|
|
57
58
|
});
|
|
58
|
-
/**
|
|
59
|
-
* Configures events to work with an engine's active element
|
|
60
|
-
*/
|
|
61
|
-
WebDeviceInputSystemImpl.prototype.configureEvents = function () {
|
|
62
|
-
var inputElement = this._engine.getInputElement();
|
|
63
|
-
if (inputElement && this._elementToAttachTo !== inputElement) {
|
|
64
|
-
// If the engine's input element has changed, unregister events from previous element
|
|
65
|
-
if (this._elementToAttachTo) {
|
|
66
|
-
this._removeEvents();
|
|
67
|
-
}
|
|
68
|
-
this._elementToAttachTo = inputElement;
|
|
69
|
-
// Set tab index for the inputElement to the engine's canvasTabIndex, if and only if the element's tab index is -1
|
|
70
|
-
this._elementToAttachTo.tabIndex = (this._elementToAttachTo.tabIndex !== -1) ? this._elementToAttachTo.tabIndex : this._engine.canvasTabIndex;
|
|
71
|
-
this._handleKeyActions();
|
|
72
|
-
this._handlePointerActions();
|
|
73
|
-
this._handleGamepadActions();
|
|
74
|
-
// Check for devices that are already connected but aren't registered. Currently, only checks for gamepads and mouse
|
|
75
|
-
this._checkForConnectedDevices();
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
59
|
// Public functions
|
|
79
60
|
/**
|
|
80
61
|
* Checks for current device input value, given an id and input index. Throws exception if requested device not initialized.
|
|
@@ -83,17 +64,17 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
83
64
|
* @param inputIndex Id of input to be checked
|
|
84
65
|
* @returns Current value of input
|
|
85
66
|
*/
|
|
86
|
-
|
|
67
|
+
WebDeviceInputSystem.prototype.pollInput = function (deviceType, deviceSlot, inputIndex) {
|
|
87
68
|
var device = this._inputs[deviceType][deviceSlot];
|
|
88
69
|
if (!device) {
|
|
89
|
-
throw "Unable to find device "
|
|
70
|
+
throw "Unable to find device ".concat(DeviceType[deviceType]);
|
|
90
71
|
}
|
|
91
|
-
if (deviceType >= DeviceType.
|
|
72
|
+
if (deviceType >= DeviceType.DualShock && deviceType <= DeviceType.DualSense && navigator.getGamepads) {
|
|
92
73
|
this._updateDevice(deviceType, deviceSlot, inputIndex);
|
|
93
74
|
}
|
|
94
75
|
var currentValue = device[inputIndex];
|
|
95
76
|
if (currentValue === undefined) {
|
|
96
|
-
throw "Unable to find input "
|
|
77
|
+
throw "Unable to find input ".concat(inputIndex, " for device ").concat(DeviceType[deviceType], " in slot ").concat(deviceSlot);
|
|
97
78
|
}
|
|
98
79
|
return currentValue;
|
|
99
80
|
};
|
|
@@ -102,13 +83,13 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
102
83
|
* @param deviceType Type of device to check for
|
|
103
84
|
* @returns bool with status of device's existence
|
|
104
85
|
*/
|
|
105
|
-
|
|
86
|
+
WebDeviceInputSystem.prototype.isDeviceAvailable = function (deviceType) {
|
|
106
87
|
return (this._inputs[deviceType] !== undefined);
|
|
107
88
|
};
|
|
108
89
|
/**
|
|
109
90
|
* Dispose of all the eventlisteners
|
|
110
91
|
*/
|
|
111
|
-
|
|
92
|
+
WebDeviceInputSystem.prototype.dispose = function () {
|
|
112
93
|
// Observables
|
|
113
94
|
this.onDeviceConnected = function () { };
|
|
114
95
|
this.onDeviceDisconnected = function () { };
|
|
@@ -120,11 +101,31 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
120
101
|
window.removeEventListener("gamepaddisconnected", this._gamepadDisconnectedEvent);
|
|
121
102
|
}
|
|
122
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Configures events to work with an engine's active element
|
|
106
|
+
*/
|
|
107
|
+
WebDeviceInputSystem.prototype._configureEvents = function () {
|
|
108
|
+
var inputElement = this._engine.getInputElement();
|
|
109
|
+
if (inputElement && this._elementToAttachTo !== inputElement) {
|
|
110
|
+
// If the engine's input element has changed, unregister events from previous element
|
|
111
|
+
if (this._elementToAttachTo) {
|
|
112
|
+
this._removeEvents();
|
|
113
|
+
}
|
|
114
|
+
this._elementToAttachTo = inputElement;
|
|
115
|
+
// Set tab index for the inputElement to the engine's canvasTabIndex, if and only if the element's tab index is -1
|
|
116
|
+
this._elementToAttachTo.tabIndex = (this._elementToAttachTo.tabIndex !== -1) ? this._elementToAttachTo.tabIndex : this._engine.canvasTabIndex;
|
|
117
|
+
this._handleKeyActions();
|
|
118
|
+
this._handlePointerActions();
|
|
119
|
+
this._handleGamepadActions();
|
|
120
|
+
// Check for devices that are already connected but aren't registered. Currently, only checks for gamepads and mouse
|
|
121
|
+
this._checkForConnectedDevices();
|
|
122
|
+
}
|
|
123
|
+
};
|
|
123
124
|
/**
|
|
124
125
|
* Checks for existing connections to devices and register them, if necessary
|
|
125
126
|
* Currently handles gamepads and mouse
|
|
126
127
|
*/
|
|
127
|
-
|
|
128
|
+
WebDeviceInputSystem.prototype._checkForConnectedDevices = function () {
|
|
128
129
|
if (navigator.getGamepads) {
|
|
129
130
|
var gamepads = navigator.getGamepads();
|
|
130
131
|
for (var _i = 0, gamepads_1 = gamepads; _i < gamepads_1.length; _i++) {
|
|
@@ -146,11 +147,11 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
146
147
|
* Add a gamepad to the DeviceInputSystem
|
|
147
148
|
* @param gamepad A single DOM Gamepad object
|
|
148
149
|
*/
|
|
149
|
-
|
|
150
|
+
WebDeviceInputSystem.prototype._addGamePad = function (gamepad) {
|
|
150
151
|
var deviceType = this._getGamepadDeviceType(gamepad.id);
|
|
151
152
|
var deviceSlot = gamepad.index;
|
|
152
|
-
this._registerDevice(deviceType, deviceSlot, gamepad.buttons.length + gamepad.axes.length);
|
|
153
153
|
this._gamepads = this._gamepads || new Array(gamepad.index + 1);
|
|
154
|
+
this._registerDevice(deviceType, deviceSlot, gamepad.buttons.length + gamepad.axes.length);
|
|
154
155
|
this._gamepads[deviceSlot] = deviceType;
|
|
155
156
|
};
|
|
156
157
|
/**
|
|
@@ -160,9 +161,11 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
160
161
|
* @param currentX Current X at point of adding
|
|
161
162
|
* @param currentY Current Y at point of adding
|
|
162
163
|
*/
|
|
163
|
-
|
|
164
|
-
this._pointerActive
|
|
165
|
-
|
|
164
|
+
WebDeviceInputSystem.prototype._addPointerDevice = function (deviceType, deviceSlot, currentX, currentY) {
|
|
165
|
+
if (!this._pointerActive) {
|
|
166
|
+
this._pointerActive = true;
|
|
167
|
+
}
|
|
168
|
+
this._registerDevice(deviceType, deviceSlot, MAX_POINTER_INPUTS);
|
|
166
169
|
var pointer = this._inputs[deviceType][deviceSlot]; /* initialize our pointer position immediately after registration */
|
|
167
170
|
pointer[0] = currentX;
|
|
168
171
|
pointer[1] = currentY;
|
|
@@ -173,9 +176,9 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
173
176
|
* @param deviceSlot "Slot" or index that device is referenced in
|
|
174
177
|
* @param numberOfInputs Number of input entries to create for given device
|
|
175
178
|
*/
|
|
176
|
-
|
|
179
|
+
WebDeviceInputSystem.prototype._registerDevice = function (deviceType, deviceSlot, numberOfInputs) {
|
|
177
180
|
if (deviceSlot === undefined) {
|
|
178
|
-
throw "Unable to register device "
|
|
181
|
+
throw "Unable to register device ".concat(DeviceType[deviceType], " to undefined slot.");
|
|
179
182
|
}
|
|
180
183
|
if (!this._inputs[deviceType]) {
|
|
181
184
|
this._inputs[deviceType] = {};
|
|
@@ -194,7 +197,7 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
194
197
|
* @param deviceType Enum specifiying device type
|
|
195
198
|
* @param deviceSlot "Slot" or index that device is referenced in
|
|
196
199
|
*/
|
|
197
|
-
|
|
200
|
+
WebDeviceInputSystem.prototype._unregisterDevice = function (deviceType, deviceSlot) {
|
|
198
201
|
if (this._inputs[deviceType][deviceSlot]) {
|
|
199
202
|
delete this._inputs[deviceType][deviceSlot];
|
|
200
203
|
this.onDeviceDisconnected(deviceType, deviceSlot);
|
|
@@ -203,12 +206,12 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
203
206
|
/**
|
|
204
207
|
* Handle all actions that come from keyboard interaction
|
|
205
208
|
*/
|
|
206
|
-
|
|
209
|
+
WebDeviceInputSystem.prototype._handleKeyActions = function () {
|
|
207
210
|
var _this = this;
|
|
208
211
|
this._keyboardDownEvent = (function (evt) {
|
|
209
212
|
if (!_this._keyboardActive) {
|
|
210
213
|
_this._keyboardActive = true;
|
|
211
|
-
_this._registerDevice(DeviceType.Keyboard, 0,
|
|
214
|
+
_this._registerDevice(DeviceType.Keyboard, 0, MAX_KEYCODES);
|
|
212
215
|
}
|
|
213
216
|
var kbKey = _this._inputs[DeviceType.Keyboard][0];
|
|
214
217
|
if (kbKey) {
|
|
@@ -225,7 +228,7 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
225
228
|
this._keyboardUpEvent = (function (evt) {
|
|
226
229
|
if (!_this._keyboardActive) {
|
|
227
230
|
_this._keyboardActive = true;
|
|
228
|
-
_this._registerDevice(DeviceType.Keyboard, 0,
|
|
231
|
+
_this._registerDevice(DeviceType.Keyboard, 0, MAX_KEYCODES);
|
|
229
232
|
}
|
|
230
233
|
var kbKey = _this._inputs[DeviceType.Keyboard][0];
|
|
231
234
|
if (kbKey) {
|
|
@@ -264,8 +267,15 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
264
267
|
/**
|
|
265
268
|
* Handle all actions that come from pointer interaction
|
|
266
269
|
*/
|
|
267
|
-
|
|
270
|
+
WebDeviceInputSystem.prototype._handlePointerActions = function () {
|
|
268
271
|
var _this = this;
|
|
272
|
+
this._maxTouchPoints = (DomManagement.IsNavigatorAvailable() && navigator.maxTouchPoints) || 0;
|
|
273
|
+
if (!this._activeTouchIds) {
|
|
274
|
+
this._activeTouchIds = new Array(this._maxTouchPoints);
|
|
275
|
+
}
|
|
276
|
+
for (var i = 0; i < this._maxTouchPoints; i++) {
|
|
277
|
+
this._activeTouchIds[i] = -1;
|
|
278
|
+
}
|
|
269
279
|
this._pointerMoveEvent = (function (evt) {
|
|
270
280
|
var deviceType = _this._getPointerType(evt);
|
|
271
281
|
var deviceSlot = (deviceType === DeviceType.Mouse) ? 0 : _this._activeTouchIds.indexOf(evt.pointerId);
|
|
@@ -277,11 +287,6 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
277
287
|
}
|
|
278
288
|
var pointer = _this._inputs[deviceType][deviceSlot];
|
|
279
289
|
if (pointer) {
|
|
280
|
-
// Store previous values for event
|
|
281
|
-
var previousHorizontal = pointer[PointerInput.Horizontal];
|
|
282
|
-
var previousVertical = pointer[PointerInput.Vertical];
|
|
283
|
-
var previousDeltaHorizontal = pointer[PointerInput.DeltaHorizontal];
|
|
284
|
-
var previousDeltaVertical = pointer[PointerInput.DeltaVertical];
|
|
285
290
|
pointer[PointerInput.Horizontal] = evt.clientX;
|
|
286
291
|
pointer[PointerInput.Vertical] = evt.clientY;
|
|
287
292
|
pointer[PointerInput.DeltaHorizontal] = evt.movementX;
|
|
@@ -289,33 +294,8 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
289
294
|
var deviceEvent = evt;
|
|
290
295
|
deviceEvent.deviceType = deviceType;
|
|
291
296
|
deviceEvent.deviceSlot = deviceSlot;
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
// in this case we stil need to propagate it.
|
|
295
|
-
if (previousHorizontal !== evt.clientX) {
|
|
296
|
-
deviceEvent.inputIndex = PointerInput.Horizontal;
|
|
297
|
-
deviceEvent.previousState = previousHorizontal;
|
|
298
|
-
deviceEvent.currentState = pointer[PointerInput.Horizontal];
|
|
299
|
-
_this.onInputChanged(deviceEvent);
|
|
300
|
-
}
|
|
301
|
-
if (previousVertical !== evt.clientY) {
|
|
302
|
-
deviceEvent.inputIndex = PointerInput.Vertical;
|
|
303
|
-
deviceEvent.previousState = previousVertical;
|
|
304
|
-
deviceEvent.currentState = pointer[PointerInput.Vertical];
|
|
305
|
-
_this.onInputChanged(deviceEvent);
|
|
306
|
-
}
|
|
307
|
-
if (pointer[PointerInput.DeltaHorizontal] !== 0) {
|
|
308
|
-
deviceEvent.inputIndex = PointerInput.DeltaHorizontal;
|
|
309
|
-
deviceEvent.previousState = previousDeltaHorizontal;
|
|
310
|
-
deviceEvent.currentState = pointer[PointerInput.DeltaHorizontal];
|
|
311
|
-
_this.onInputChanged(deviceEvent);
|
|
312
|
-
}
|
|
313
|
-
if (pointer[PointerInput.DeltaVertical] !== 0) {
|
|
314
|
-
deviceEvent.inputIndex = PointerInput.DeltaVertical;
|
|
315
|
-
deviceEvent.previousState = previousDeltaVertical;
|
|
316
|
-
deviceEvent.currentState = pointer[PointerInput.DeltaVertical];
|
|
317
|
-
_this.onInputChanged(deviceEvent);
|
|
318
|
-
}
|
|
297
|
+
deviceEvent.inputIndex = PointerInput.Move;
|
|
298
|
+
_this.onInputChanged(deviceEvent);
|
|
319
299
|
// Lets Propagate the event for move with same position.
|
|
320
300
|
if (!_this._usingSafari && evt.button !== -1) {
|
|
321
301
|
deviceEvent.inputIndex = evt.button + 2;
|
|
@@ -330,8 +310,16 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
330
310
|
var deviceType = _this._getPointerType(evt);
|
|
331
311
|
var deviceSlot = (deviceType === DeviceType.Mouse) ? 0 : evt.pointerId;
|
|
332
312
|
if (deviceType === DeviceType.Touch) {
|
|
333
|
-
|
|
334
|
-
|
|
313
|
+
var idx = _this._activeTouchIds.indexOf(-1);
|
|
314
|
+
if (idx >= 0) {
|
|
315
|
+
deviceSlot = idx;
|
|
316
|
+
_this._activeTouchIds[idx] = evt.pointerId;
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
// We can't find an open slot to store new pointer so just return (can only support max number of touches)
|
|
320
|
+
Tools.Warn("Max number of touches exceeded. Ignoring touches in excess of ".concat(_this._maxTouchPoints));
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
335
323
|
}
|
|
336
324
|
if (!_this._inputs[deviceType]) {
|
|
337
325
|
_this._inputs[deviceType] = {};
|
|
@@ -339,6 +327,9 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
339
327
|
if (!_this._inputs[deviceType][deviceSlot]) {
|
|
340
328
|
_this._addPointerDevice(deviceType, deviceSlot, evt.clientX, evt.clientY);
|
|
341
329
|
}
|
|
330
|
+
else if (deviceType === DeviceType.Touch) {
|
|
331
|
+
_this.onDeviceConnected(deviceType, deviceSlot);
|
|
332
|
+
}
|
|
342
333
|
var pointer = _this._inputs[deviceType][deviceSlot];
|
|
343
334
|
if (pointer) {
|
|
344
335
|
var previousHorizontal = pointer[PointerInput.Horizontal];
|
|
@@ -378,28 +369,31 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
378
369
|
var deviceEvent = evt;
|
|
379
370
|
deviceEvent.deviceType = deviceType;
|
|
380
371
|
deviceEvent.deviceSlot = deviceSlot;
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
deviceEvent.currentState = pointer[PointerInput.Horizontal];
|
|
385
|
-
_this.onInputChanged(deviceEvent);
|
|
386
|
-
}
|
|
387
|
-
if (previousVertical !== evt.clientY) {
|
|
388
|
-
deviceEvent.inputIndex = PointerInput.Vertical;
|
|
389
|
-
deviceEvent.previousState = previousVertical;
|
|
390
|
-
deviceEvent.currentState = pointer[PointerInput.Vertical];
|
|
391
|
-
_this.onInputChanged(deviceEvent);
|
|
392
|
-
}
|
|
372
|
+
// NOTE: The +2 used here to is because PointerInput has the same value progression for its mouse buttons as PointerEvent.button
|
|
373
|
+
// However, we have our X and Y values front-loaded to group together the touch inputs but not break this progression
|
|
374
|
+
// EG. ([X, Y, Left-click], Middle-click, etc...)
|
|
393
375
|
deviceEvent.inputIndex = evt.button + 2;
|
|
394
376
|
deviceEvent.previousState = previousButton;
|
|
395
|
-
deviceEvent.currentState = pointer[
|
|
377
|
+
deviceEvent.currentState = pointer[deviceEvent.inputIndex];
|
|
396
378
|
_this.onInputChanged(deviceEvent);
|
|
379
|
+
if (previousHorizontal !== evt.clientX || previousVertical !== evt.clientY) {
|
|
380
|
+
deviceEvent.inputIndex = PointerInput.Move;
|
|
381
|
+
_this.onInputChanged(deviceEvent);
|
|
382
|
+
}
|
|
397
383
|
}
|
|
398
384
|
});
|
|
399
385
|
this._pointerUpEvent = (function (evt) {
|
|
400
386
|
var _a, _b, _c, _d, _e;
|
|
401
387
|
var deviceType = _this._getPointerType(evt);
|
|
402
388
|
var deviceSlot = (deviceType === DeviceType.Mouse) ? 0 : _this._activeTouchIds.indexOf(evt.pointerId);
|
|
389
|
+
if (deviceType === DeviceType.Touch) {
|
|
390
|
+
if (deviceSlot === -1) {
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
_this._activeTouchIds[deviceSlot] = -1;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
403
397
|
var pointer = (_a = _this._inputs[deviceType]) === null || _a === void 0 ? void 0 : _a[deviceSlot];
|
|
404
398
|
if (pointer && pointer[evt.button + 2] !== 0) {
|
|
405
399
|
var previousHorizontal = pointer[PointerInput.Horizontal];
|
|
@@ -411,21 +405,16 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
411
405
|
var deviceEvent = evt;
|
|
412
406
|
deviceEvent.deviceType = deviceType;
|
|
413
407
|
deviceEvent.deviceSlot = deviceSlot;
|
|
414
|
-
if (previousHorizontal !== evt.clientX) {
|
|
415
|
-
deviceEvent.inputIndex = PointerInput.
|
|
416
|
-
deviceEvent.previousState = previousHorizontal;
|
|
417
|
-
deviceEvent.currentState = pointer[PointerInput.Horizontal];
|
|
418
|
-
_this.onInputChanged(deviceEvent);
|
|
419
|
-
}
|
|
420
|
-
if (previousVertical !== evt.clientY) {
|
|
421
|
-
deviceEvent.inputIndex = PointerInput.Vertical;
|
|
422
|
-
deviceEvent.previousState = previousVertical;
|
|
423
|
-
deviceEvent.currentState = pointer[PointerInput.Vertical];
|
|
408
|
+
if (previousHorizontal !== evt.clientX || previousVertical !== evt.clientY) {
|
|
409
|
+
deviceEvent.inputIndex = PointerInput.Move;
|
|
424
410
|
_this.onInputChanged(deviceEvent);
|
|
425
411
|
}
|
|
412
|
+
// NOTE: The +2 used here to is because PointerInput has the same value progression for its mouse buttons as PointerEvent.button
|
|
413
|
+
// However, we have our X and Y values front-loaded to group together the touch inputs but not break this progression
|
|
414
|
+
// EG. ([X, Y, Left-click], Middle-click, etc...)
|
|
426
415
|
deviceEvent.inputIndex = evt.button + 2;
|
|
427
416
|
deviceEvent.previousState = previousButton;
|
|
428
|
-
deviceEvent.currentState = pointer[
|
|
417
|
+
deviceEvent.currentState = pointer[deviceEvent.inputIndex];
|
|
429
418
|
if (deviceType === DeviceType.Mouse && _this._mouseId >= 0 && ((_c = (_b = _this._elementToAttachTo).hasPointerCapture) === null || _c === void 0 ? void 0 : _c.call(_b, _this._mouseId))) {
|
|
430
419
|
_this._elementToAttachTo.releasePointerCapture(_this._mouseId);
|
|
431
420
|
}
|
|
@@ -433,11 +422,8 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
433
422
|
_this._elementToAttachTo.releasePointerCapture(evt.pointerId);
|
|
434
423
|
}
|
|
435
424
|
_this.onInputChanged(deviceEvent);
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
var idToRemove = _this._activeTouchIds.indexOf(evt.pointerId);
|
|
439
|
-
delete _this._activeTouchIds[idToRemove];
|
|
440
|
-
_this._unregisterDevice(deviceType, deviceSlot);
|
|
425
|
+
if (deviceType === DeviceType.Touch) {
|
|
426
|
+
_this.onDeviceDisconnected(deviceType, deviceSlot);
|
|
441
427
|
}
|
|
442
428
|
}
|
|
443
429
|
});
|
|
@@ -490,28 +476,25 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
490
476
|
// Handle Active Touches
|
|
491
477
|
if (_this.isDeviceAvailable(DeviceType.Touch)) {
|
|
492
478
|
var pointer = _this._inputs[DeviceType.Touch];
|
|
493
|
-
|
|
494
|
-
for (var deviceSlotKey in Object.keys(_this._activeTouchIds)) {
|
|
495
|
-
var deviceSlot = +deviceSlotKey;
|
|
479
|
+
for (var deviceSlot = 0; deviceSlot < _this._activeTouchIds.length; deviceSlot++) {
|
|
496
480
|
var pointerId = _this._activeTouchIds[deviceSlot];
|
|
497
481
|
if ((_d = (_c = _this._elementToAttachTo).hasPointerCapture) === null || _d === void 0 ? void 0 : _d.call(_c, pointerId)) {
|
|
498
482
|
_this._elementToAttachTo.releasePointerCapture(pointerId);
|
|
499
483
|
}
|
|
500
|
-
if (((_e = pointer[deviceSlot]) === null || _e === void 0 ? void 0 : _e[PointerInput.LeftClick]) === 1) {
|
|
484
|
+
if (pointerId !== -1 && ((_e = pointer[deviceSlot]) === null || _e === void 0 ? void 0 : _e[PointerInput.LeftClick]) === 1) {
|
|
501
485
|
pointer[deviceSlot][PointerInput.LeftClick] = 0;
|
|
502
|
-
var evt_3 = DeviceEventFactory.CreateDeviceEvent(DeviceType.Touch,
|
|
486
|
+
var evt_3 = DeviceEventFactory.CreateDeviceEvent(DeviceType.Touch, deviceSlot, PointerInput.LeftClick, 1, _this, _this._elementToAttachTo);
|
|
503
487
|
var deviceEvent = evt_3;
|
|
504
|
-
deviceEvent.deviceType = DeviceType.
|
|
488
|
+
deviceEvent.deviceType = DeviceType.Touch;
|
|
505
489
|
deviceEvent.deviceSlot = deviceSlot;
|
|
506
490
|
deviceEvent.inputIndex = PointerInput.LeftClick;
|
|
507
491
|
deviceEvent.currentState = pointer[deviceSlot][PointerInput.LeftClick];
|
|
508
492
|
deviceEvent.previousState = 1;
|
|
509
493
|
_this.onInputChanged(deviceEvent);
|
|
510
|
-
_this.
|
|
494
|
+
_this._activeTouchIds[deviceSlot] = -1;
|
|
495
|
+
_this.onDeviceDisconnected(DeviceType.Touch, deviceSlot);
|
|
511
496
|
}
|
|
512
497
|
}
|
|
513
|
-
// Clear all active touches
|
|
514
|
-
while (_this._activeTouchIds.pop() !== undefined) { }
|
|
515
498
|
}
|
|
516
499
|
});
|
|
517
500
|
this._pointerWheelEvent = (function (evt) {
|
|
@@ -522,7 +505,7 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
522
505
|
}
|
|
523
506
|
if (!_this._inputs[deviceType][deviceSlot]) {
|
|
524
507
|
_this._pointerActive = true;
|
|
525
|
-
_this._registerDevice(deviceType, deviceSlot,
|
|
508
|
+
_this._registerDevice(deviceType, deviceSlot, MAX_POINTER_INPUTS);
|
|
526
509
|
}
|
|
527
510
|
var pointer = _this._inputs[deviceType][deviceSlot];
|
|
528
511
|
if (pointer) {
|
|
@@ -576,7 +559,7 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
576
559
|
/**
|
|
577
560
|
* Handle all actions that come from gamepad interaction
|
|
578
561
|
*/
|
|
579
|
-
|
|
562
|
+
WebDeviceInputSystem.prototype._handleGamepadActions = function () {
|
|
580
563
|
var _this = this;
|
|
581
564
|
this._gamepadConnectedEvent = (function (evt) {
|
|
582
565
|
_this._addGamePad(evt.gamepad);
|
|
@@ -598,7 +581,7 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
598
581
|
* @param deviceSlot "Slot" or index that device is referenced in
|
|
599
582
|
* @param inputIndex Id of input to be checked
|
|
600
583
|
*/
|
|
601
|
-
|
|
584
|
+
WebDeviceInputSystem.prototype._updateDevice = function (deviceType, deviceSlot, inputIndex) {
|
|
602
585
|
// Gamepads
|
|
603
586
|
var gp = navigator.getGamepads()[deviceSlot];
|
|
604
587
|
if (gp && deviceType === this._gamepads[deviceSlot]) {
|
|
@@ -616,9 +599,9 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
616
599
|
* @param deviceName Name of Device from DeviceInputSystem
|
|
617
600
|
* @returns DeviceType enum value
|
|
618
601
|
*/
|
|
619
|
-
|
|
620
|
-
if (deviceName.indexOf("054c") !== -1
|
|
621
|
-
return DeviceType.DualShock;
|
|
602
|
+
WebDeviceInputSystem.prototype._getGamepadDeviceType = function (deviceName) {
|
|
603
|
+
if (deviceName.indexOf("054c") !== -1) { // DualShock 4 Gamepad
|
|
604
|
+
return (deviceName.indexOf("0ce6") !== -1 ? DeviceType.DualSense : DeviceType.DualShock);
|
|
622
605
|
}
|
|
623
606
|
else if (deviceName.indexOf("Xbox One") !== -1 || deviceName.search("Xbox 360") !== -1 || deviceName.search("xinput") !== -1) { // Xbox Gamepad
|
|
624
607
|
return DeviceType.Xbox;
|
|
@@ -633,7 +616,7 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
633
616
|
* @param evt PointerEvent to evaluate
|
|
634
617
|
* @returns DeviceType interpreted from event
|
|
635
618
|
*/
|
|
636
|
-
|
|
619
|
+
WebDeviceInputSystem.prototype._getPointerType = function (evt) {
|
|
637
620
|
var deviceType = DeviceType.Mouse;
|
|
638
621
|
if (evt.pointerType === "touch" || evt.pointerType === "pen" || evt.touches) {
|
|
639
622
|
deviceType = DeviceType.Touch;
|
|
@@ -643,31 +626,23 @@ var WebDeviceInputSystemImpl = /** @class */ (function () {
|
|
|
643
626
|
/**
|
|
644
627
|
* Remove events from active input element
|
|
645
628
|
*/
|
|
646
|
-
|
|
629
|
+
WebDeviceInputSystem.prototype._removeEvents = function () {
|
|
647
630
|
// Blur Events
|
|
648
631
|
this._elementToAttachTo.removeEventListener("blur", this._keyboardBlurEvent);
|
|
649
632
|
this._elementToAttachTo.removeEventListener("blur", this._pointerBlurEvent);
|
|
650
633
|
// Keyboard Events
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
this._elementToAttachTo.removeEventListener("keyup", this._keyboardUpEvent);
|
|
654
|
-
}
|
|
634
|
+
this._elementToAttachTo.removeEventListener("keydown", this._keyboardDownEvent);
|
|
635
|
+
this._elementToAttachTo.removeEventListener("keyup", this._keyboardUpEvent);
|
|
655
636
|
// Pointer Events
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
this._engine.onEndFrameObservable.remove(this._pointerInputClearObserver);
|
|
663
|
-
}
|
|
637
|
+
this._elementToAttachTo.removeEventListener(this._eventPrefix + "move", this._pointerMoveEvent);
|
|
638
|
+
this._elementToAttachTo.removeEventListener(this._eventPrefix + "down", this._pointerDownEvent);
|
|
639
|
+
this._elementToAttachTo.removeEventListener(this._eventPrefix + "up", this._pointerUpEvent);
|
|
640
|
+
this._elementToAttachTo.removeEventListener(this._wheelEventName, this._pointerWheelEvent);
|
|
641
|
+
if (this._pointerInputClearObserver) {
|
|
642
|
+
this._engine.onEndFrameObservable.remove(this._pointerInputClearObserver);
|
|
664
643
|
}
|
|
665
644
|
};
|
|
666
|
-
|
|
667
|
-
WebDeviceInputSystemImpl.MAX_KEYCODES = 255;
|
|
668
|
-
/** Max number of pointer inputs */
|
|
669
|
-
WebDeviceInputSystemImpl.MAX_POINTER_INPUTS = Object.keys(PointerInput).length / 2;
|
|
670
|
-
return WebDeviceInputSystemImpl;
|
|
645
|
+
return WebDeviceInputSystem;
|
|
671
646
|
}());
|
|
672
|
-
export {
|
|
647
|
+
export { WebDeviceInputSystem };
|
|
673
648
|
//# sourceMappingURL=webDeviceInputSystem.js.map
|