@galacean/engine-xr 2.0.0-alpha.2 → 2.0.0-alpha.21
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/dist/browser.js +45 -75
- package/dist/browser.js.map +1 -1
- package/dist/browser.min.js +1 -1
- package/dist/browser.min.js.map +1 -1
- package/dist/main.js +45 -75
- package/dist/main.js.map +1 -1
- package/dist/module.js +46 -76
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/XRManagerExtended.d.ts +0 -4
- package/types/feature/trackable/XRTrackableFeature.d.ts +12 -10
- package/types/input/XRInputManager.d.ts +7 -5
- package/types/session/XRSessionManager.d.ts +6 -4
package/dist/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CameraType, Matrix, CameraClearFlags, Vector3, Quaternion, Rect,
|
|
1
|
+
import { CameraType, Matrix, CameraClearFlags, Vector3, Quaternion, Rect, Signal, XRManager, Ray, Plane, Vector2, decoder, AssetPromise, resourceLoader, decode, Loader } from '@galacean/engine';
|
|
2
2
|
|
|
3
3
|
function _is_native_reflect_construct() {
|
|
4
4
|
// Since Reflect.construct can't be properly polyfilled, some
|
|
@@ -341,13 +341,13 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
341
341
|
function XRInputManager(_xrManager, _engine) {
|
|
342
342
|
this._xrManager = _xrManager;
|
|
343
343
|
this._engine = _engine;
|
|
344
|
+
this.onTrackedDeviceChanged = new Signal();
|
|
344
345
|
this./** @internal */ _cameras = [];
|
|
345
346
|
this./** @internal */ _controllers = [];
|
|
346
347
|
this._added = [];
|
|
347
348
|
this._removed = [];
|
|
348
349
|
this._trackedDevices = [];
|
|
349
350
|
this._statusSnapshot = [];
|
|
350
|
-
this._listeners = new SafeLoopArray();
|
|
351
351
|
var _this = this, trackedDevices = _this._trackedDevices, controllers = _this._controllers, cameras = _this._cameras;
|
|
352
352
|
for(var i = 0; i < 6; i++){
|
|
353
353
|
switch(i){
|
|
@@ -374,22 +374,6 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
374
374
|
return this._trackedDevices[type];
|
|
375
375
|
};
|
|
376
376
|
/**
|
|
377
|
-
* Add a listener for tracked device changes.
|
|
378
|
-
* @param listener - The listener to add
|
|
379
|
-
*/ _proto.addTrackedDeviceChangedListener = function addTrackedDeviceChangedListener(listener) {
|
|
380
|
-
this._listeners.push({
|
|
381
|
-
fn: listener
|
|
382
|
-
});
|
|
383
|
-
};
|
|
384
|
-
/**
|
|
385
|
-
* Remove a listener of tracked device changes.
|
|
386
|
-
* @param listener - The listener to remove
|
|
387
|
-
*/ _proto.removeTrackedDeviceChangedListener = function removeTrackedDeviceChangedListener(listener) {
|
|
388
|
-
this._listeners.findAndRemove(function(value) {
|
|
389
|
-
return value.fn === listener ? value.destroyed = true : false;
|
|
390
|
-
});
|
|
391
|
-
};
|
|
392
|
-
/**
|
|
393
377
|
* @internal
|
|
394
378
|
*/ _proto._onUpdate = function _onUpdate() {
|
|
395
379
|
var _this = this, added = _this._added, removed = _this._removed, statusSnapshot = _this._statusSnapshot;
|
|
@@ -425,19 +409,13 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
425
409
|
}
|
|
426
410
|
// Dispatch change event
|
|
427
411
|
if (added.length > 0 || removed.length > 0) {
|
|
428
|
-
|
|
429
|
-
for(var i3 = 0, n3 = listeners.length; i3 < n3; i3++){
|
|
430
|
-
var listener = listeners[i3];
|
|
431
|
-
!listener.destroyed && listener.fn(added, removed);
|
|
432
|
-
}
|
|
412
|
+
this.onTrackedDeviceChanged.invoke(added, removed);
|
|
433
413
|
}
|
|
434
414
|
};
|
|
435
415
|
/**
|
|
436
416
|
* @internal
|
|
437
417
|
*/ _proto._onDestroy = function _onDestroy() {
|
|
438
|
-
this.
|
|
439
|
-
return value.destroyed = true;
|
|
440
|
-
});
|
|
418
|
+
this.onTrackedDeviceChanged.removeAll();
|
|
441
419
|
};
|
|
442
420
|
_proto._handleEvent = function _handleEvent(event) {
|
|
443
421
|
var input = this._trackedDevices[event.input];
|
|
@@ -513,6 +491,18 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
513
491
|
}
|
|
514
492
|
return new PointerEvent(type, eventInitDict);
|
|
515
493
|
};
|
|
494
|
+
/**
|
|
495
|
+
* Add a listener for tracked device changes.
|
|
496
|
+
* @deprecated Use `onTrackedDeviceChanged.on(listener)` instead.
|
|
497
|
+
*/ _proto.addTrackedDeviceChangedListener = function addTrackedDeviceChangedListener(listener) {
|
|
498
|
+
this.onTrackedDeviceChanged.on(listener);
|
|
499
|
+
};
|
|
500
|
+
/**
|
|
501
|
+
* Remove a listener of tracked device changes.
|
|
502
|
+
* @deprecated Use `onTrackedDeviceChanged.off(listener)` instead.
|
|
503
|
+
*/ _proto.removeTrackedDeviceChangedListener = function removeTrackedDeviceChangedListener(listener) {
|
|
504
|
+
this.onTrackedDeviceChanged.off(listener);
|
|
505
|
+
};
|
|
516
506
|
return XRInputManager;
|
|
517
507
|
}();
|
|
518
508
|
|
|
@@ -531,9 +521,9 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
531
521
|
function XRSessionManager(_xrManager, _engine) {
|
|
532
522
|
this._xrManager = _xrManager;
|
|
533
523
|
this._engine = _engine;
|
|
524
|
+
this.onStateChanged = new Signal();
|
|
534
525
|
this._mode = XRSessionMode.None;
|
|
535
526
|
this._state = XRSessionState.None;
|
|
536
|
-
this._listeners = new SafeLoopArray();
|
|
537
527
|
// @ts-ignore
|
|
538
528
|
this._rhi = _engine._hardwareRenderer;
|
|
539
529
|
this._raf = requestAnimationFrame.bind(window);
|
|
@@ -584,30 +574,10 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
584
574
|
}
|
|
585
575
|
};
|
|
586
576
|
/**
|
|
587
|
-
* Add a listening function for session state changes.
|
|
588
|
-
* @param listener - The listening function
|
|
589
|
-
*/ _proto.addStateChangedListener = function addStateChangedListener(listener) {
|
|
590
|
-
this._listeners.push({
|
|
591
|
-
fn: listener
|
|
592
|
-
});
|
|
593
|
-
};
|
|
594
|
-
/**
|
|
595
|
-
* Remove a listening function of session state changes.
|
|
596
|
-
* @param listener - The listening function
|
|
597
|
-
*/ _proto.removeStateChangedListener = function removeStateChangedListener(listener) {
|
|
598
|
-
this._listeners.findAndRemove(function(value) {
|
|
599
|
-
return value.fn === listener ? value.destroyed = true : false;
|
|
600
|
-
});
|
|
601
|
-
};
|
|
602
|
-
/**
|
|
603
577
|
* @internal
|
|
604
578
|
*/ _proto._setState = function _setState(value) {
|
|
605
579
|
this._state = value;
|
|
606
|
-
|
|
607
|
-
for(var i = 0, n = listeners.length; i < n; i++){
|
|
608
|
-
var listener = listeners[i];
|
|
609
|
-
!listener.destroyed && listener.fn(value);
|
|
610
|
-
}
|
|
580
|
+
this.onStateChanged.invoke(value);
|
|
611
581
|
};
|
|
612
582
|
/**
|
|
613
583
|
* @internal
|
|
@@ -683,11 +653,21 @@ var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
|
683
653
|
/**
|
|
684
654
|
* @internal
|
|
685
655
|
*/ _proto._onDestroy = function _onDestroy() {
|
|
686
|
-
this.
|
|
687
|
-
return value.destroyed = true;
|
|
688
|
-
});
|
|
656
|
+
this.onStateChanged.removeAll();
|
|
689
657
|
this._raf = this._caf = null;
|
|
690
658
|
};
|
|
659
|
+
/**
|
|
660
|
+
* Add a listening function for session state changes.
|
|
661
|
+
* @deprecated Use `onStateChanged.on(listener)` instead.
|
|
662
|
+
*/ _proto.addStateChangedListener = function addStateChangedListener(listener) {
|
|
663
|
+
this.onStateChanged.on(listener);
|
|
664
|
+
};
|
|
665
|
+
/**
|
|
666
|
+
* Remove a listening function of session state changes.
|
|
667
|
+
* @deprecated Use `onStateChanged.off(listener)` instead.
|
|
668
|
+
*/ _proto.removeStateChangedListener = function removeStateChangedListener(listener) {
|
|
669
|
+
this.onStateChanged.off(listener);
|
|
670
|
+
};
|
|
691
671
|
_create_class(XRSessionManager, [
|
|
692
672
|
{
|
|
693
673
|
key: "mode",
|
|
@@ -1003,26 +983,10 @@ var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
|
|
|
1003
983
|
_inherits(XRTrackableFeature, XRFeature);
|
|
1004
984
|
function XRTrackableFeature() {
|
|
1005
985
|
var _this;
|
|
1006
|
-
_this = XRFeature.apply(this, arguments) || this, _this._requestTrackings = [], _this._tracked = [], _this._added = [], _this._updated = [], _this._removed = [], _this._statusSnapshot = {}
|
|
986
|
+
_this = XRFeature.apply(this, arguments) || this, /** Signal emitted when tracked objects change. */ _this.onChanged = new Signal(), _this._requestTrackings = [], _this._tracked = [], _this._added = [], _this._updated = [], _this._removed = [], _this._statusSnapshot = {};
|
|
1007
987
|
return _this;
|
|
1008
988
|
}
|
|
1009
989
|
var _proto = XRTrackableFeature.prototype;
|
|
1010
|
-
/**
|
|
1011
|
-
* Add a listening function for tracked object changes.
|
|
1012
|
-
* @param listener - The listening function
|
|
1013
|
-
*/ _proto.addChangedListener = function addChangedListener(listener) {
|
|
1014
|
-
this._listeners.push({
|
|
1015
|
-
fn: listener
|
|
1016
|
-
});
|
|
1017
|
-
};
|
|
1018
|
-
/**
|
|
1019
|
-
* Remove a listening function of tracked object changes.
|
|
1020
|
-
* @param listener - The listening function
|
|
1021
|
-
*/ _proto.removeChangedListener = function removeChangedListener(listener) {
|
|
1022
|
-
this._listeners.findAndRemove(function(value) {
|
|
1023
|
-
return value.fn === listener ? value.destroyed = true : false;
|
|
1024
|
-
});
|
|
1025
|
-
};
|
|
1026
990
|
_proto._onUpdate = function _onUpdate() {
|
|
1027
991
|
var _this__xrManager_sessionManager = this._xrManager.sessionManager, platformSession = _this__xrManager_sessionManager._platformSession;
|
|
1028
992
|
var platformFrame = platformSession.frame;
|
|
@@ -1078,11 +1042,7 @@ var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
|
|
|
1078
1042
|
requestTrackings[i1].state === XRRequestTrackingState.Destroyed && requestTrackings.splice(i1, 1);
|
|
1079
1043
|
}
|
|
1080
1044
|
if (added.length > 0 || updated.length > 0 || removed.length > 0) {
|
|
1081
|
-
|
|
1082
|
-
for(var i2 = 0, n3 = listeners.length; i2 < n3; i2++){
|
|
1083
|
-
var listener = listeners[i2];
|
|
1084
|
-
!listener.destroyed && listener.fn(added, updated, removed);
|
|
1085
|
-
}
|
|
1045
|
+
this.onChanged.invoke(added, updated, removed);
|
|
1086
1046
|
}
|
|
1087
1047
|
};
|
|
1088
1048
|
_proto._onSessionStop = function _onSessionStop() {
|
|
@@ -1091,9 +1051,7 @@ var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
|
|
|
1091
1051
|
_proto._onSessionExit = function _onSessionExit() {
|
|
1092
1052
|
// prettier-ignore
|
|
1093
1053
|
this._requestTrackings.length = this._tracked.length = this._added.length = this._updated.length = this._removed.length = 0;
|
|
1094
|
-
this.
|
|
1095
|
-
return value.destroyed = true;
|
|
1096
|
-
});
|
|
1054
|
+
this.onChanged.removeAll();
|
|
1097
1055
|
};
|
|
1098
1056
|
_proto._addRequestTracking = function _addRequestTracking(requestTracking) {
|
|
1099
1057
|
var _this = this, platformFeature = _this._platformFeature;
|
|
@@ -1120,6 +1078,18 @@ var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
|
|
|
1120
1078
|
platformFeature.onDelRequestTracking(requestTrackings[i]);
|
|
1121
1079
|
}
|
|
1122
1080
|
};
|
|
1081
|
+
/**
|
|
1082
|
+
* Add a listening function for tracked object changes.
|
|
1083
|
+
* @deprecated Use `onChanged.on(listener)` instead.
|
|
1084
|
+
*/ _proto.addChangedListener = function addChangedListener(listener) {
|
|
1085
|
+
this.onChanged.on(listener);
|
|
1086
|
+
};
|
|
1087
|
+
/**
|
|
1088
|
+
* Remove a listening function of tracked object changes.
|
|
1089
|
+
* @deprecated Use `onChanged.off(listener)` instead.
|
|
1090
|
+
*/ _proto.removeChangedListener = function removeChangedListener(listener) {
|
|
1091
|
+
this.onChanged.off(listener);
|
|
1092
|
+
};
|
|
1123
1093
|
return XRTrackableFeature;
|
|
1124
1094
|
}(XRFeature);
|
|
1125
1095
|
XRTrackableFeature._uuid = 0;
|