@galacean/engine-xr 2.0.0-alpha.14 → 2.0.0-alpha.15
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/browser.js
CHANGED
|
@@ -345,13 +345,13 @@
|
|
|
345
345
|
function XRInputManager(_xrManager, _engine) {
|
|
346
346
|
this._xrManager = _xrManager;
|
|
347
347
|
this._engine = _engine;
|
|
348
|
+
this.onTrackedDeviceChanged = new engine.Signal();
|
|
348
349
|
this./** @internal */ _cameras = [];
|
|
349
350
|
this./** @internal */ _controllers = [];
|
|
350
351
|
this._added = [];
|
|
351
352
|
this._removed = [];
|
|
352
353
|
this._trackedDevices = [];
|
|
353
354
|
this._statusSnapshot = [];
|
|
354
|
-
this._listeners = new engine.SafeLoopArray();
|
|
355
355
|
var _this = this, trackedDevices = _this._trackedDevices, controllers = _this._controllers, cameras = _this._cameras;
|
|
356
356
|
for(var i = 0; i < 6; i++){
|
|
357
357
|
switch(i){
|
|
@@ -378,22 +378,6 @@
|
|
|
378
378
|
return this._trackedDevices[type];
|
|
379
379
|
};
|
|
380
380
|
/**
|
|
381
|
-
* Add a listener for tracked device changes.
|
|
382
|
-
* @param listener - The listener to add
|
|
383
|
-
*/ _proto.addTrackedDeviceChangedListener = function addTrackedDeviceChangedListener(listener) {
|
|
384
|
-
this._listeners.push({
|
|
385
|
-
fn: listener
|
|
386
|
-
});
|
|
387
|
-
};
|
|
388
|
-
/**
|
|
389
|
-
* Remove a listener of tracked device changes.
|
|
390
|
-
* @param listener - The listener to remove
|
|
391
|
-
*/ _proto.removeTrackedDeviceChangedListener = function removeTrackedDeviceChangedListener(listener) {
|
|
392
|
-
this._listeners.findAndRemove(function(value) {
|
|
393
|
-
return value.fn === listener ? value.destroyed = true : false;
|
|
394
|
-
});
|
|
395
|
-
};
|
|
396
|
-
/**
|
|
397
381
|
* @internal
|
|
398
382
|
*/ _proto._onUpdate = function _onUpdate() {
|
|
399
383
|
var _this = this, added = _this._added, removed = _this._removed, statusSnapshot = _this._statusSnapshot;
|
|
@@ -429,19 +413,13 @@
|
|
|
429
413
|
}
|
|
430
414
|
// Dispatch change event
|
|
431
415
|
if (added.length > 0 || removed.length > 0) {
|
|
432
|
-
|
|
433
|
-
for(var i3 = 0, n3 = listeners.length; i3 < n3; i3++){
|
|
434
|
-
var listener = listeners[i3];
|
|
435
|
-
!listener.destroyed && listener.fn(added, removed);
|
|
436
|
-
}
|
|
416
|
+
this.onTrackedDeviceChanged.invoke(added, removed);
|
|
437
417
|
}
|
|
438
418
|
};
|
|
439
419
|
/**
|
|
440
420
|
* @internal
|
|
441
421
|
*/ _proto._onDestroy = function _onDestroy() {
|
|
442
|
-
this.
|
|
443
|
-
return value.destroyed = true;
|
|
444
|
-
});
|
|
422
|
+
this.onTrackedDeviceChanged.removeAll();
|
|
445
423
|
};
|
|
446
424
|
_proto._handleEvent = function _handleEvent(event) {
|
|
447
425
|
var input = this._trackedDevices[event.input];
|
|
@@ -517,6 +495,18 @@
|
|
|
517
495
|
}
|
|
518
496
|
return new PointerEvent(type, eventInitDict);
|
|
519
497
|
};
|
|
498
|
+
/**
|
|
499
|
+
* Add a listener for tracked device changes.
|
|
500
|
+
* @deprecated Use `onTrackedDeviceChanged.on(listener)` instead.
|
|
501
|
+
*/ _proto.addTrackedDeviceChangedListener = function addTrackedDeviceChangedListener(listener) {
|
|
502
|
+
this.onTrackedDeviceChanged.on(listener);
|
|
503
|
+
};
|
|
504
|
+
/**
|
|
505
|
+
* Remove a listener of tracked device changes.
|
|
506
|
+
* @deprecated Use `onTrackedDeviceChanged.off(listener)` instead.
|
|
507
|
+
*/ _proto.removeTrackedDeviceChangedListener = function removeTrackedDeviceChangedListener(listener) {
|
|
508
|
+
this.onTrackedDeviceChanged.off(listener);
|
|
509
|
+
};
|
|
520
510
|
return XRInputManager;
|
|
521
511
|
}();
|
|
522
512
|
|
|
@@ -535,9 +525,9 @@
|
|
|
535
525
|
function XRSessionManager(_xrManager, _engine) {
|
|
536
526
|
this._xrManager = _xrManager;
|
|
537
527
|
this._engine = _engine;
|
|
528
|
+
this.onStateChanged = new engine.Signal();
|
|
538
529
|
this._mode = XRSessionMode.None;
|
|
539
530
|
this._state = XRSessionState.None;
|
|
540
|
-
this._listeners = new engine.SafeLoopArray();
|
|
541
531
|
// @ts-ignore
|
|
542
532
|
this._rhi = _engine._hardwareRenderer;
|
|
543
533
|
this._raf = requestAnimationFrame.bind(window);
|
|
@@ -588,30 +578,10 @@
|
|
|
588
578
|
}
|
|
589
579
|
};
|
|
590
580
|
/**
|
|
591
|
-
* Add a listening function for session state changes.
|
|
592
|
-
* @param listener - The listening function
|
|
593
|
-
*/ _proto.addStateChangedListener = function addStateChangedListener(listener) {
|
|
594
|
-
this._listeners.push({
|
|
595
|
-
fn: listener
|
|
596
|
-
});
|
|
597
|
-
};
|
|
598
|
-
/**
|
|
599
|
-
* Remove a listening function of session state changes.
|
|
600
|
-
* @param listener - The listening function
|
|
601
|
-
*/ _proto.removeStateChangedListener = function removeStateChangedListener(listener) {
|
|
602
|
-
this._listeners.findAndRemove(function(value) {
|
|
603
|
-
return value.fn === listener ? value.destroyed = true : false;
|
|
604
|
-
});
|
|
605
|
-
};
|
|
606
|
-
/**
|
|
607
581
|
* @internal
|
|
608
582
|
*/ _proto._setState = function _setState(value) {
|
|
609
583
|
this._state = value;
|
|
610
|
-
|
|
611
|
-
for(var i = 0, n = listeners.length; i < n; i++){
|
|
612
|
-
var listener = listeners[i];
|
|
613
|
-
!listener.destroyed && listener.fn(value);
|
|
614
|
-
}
|
|
584
|
+
this.onStateChanged.invoke(value);
|
|
615
585
|
};
|
|
616
586
|
/**
|
|
617
587
|
* @internal
|
|
@@ -687,11 +657,21 @@
|
|
|
687
657
|
/**
|
|
688
658
|
* @internal
|
|
689
659
|
*/ _proto._onDestroy = function _onDestroy() {
|
|
690
|
-
this.
|
|
691
|
-
return value.destroyed = true;
|
|
692
|
-
});
|
|
660
|
+
this.onStateChanged.removeAll();
|
|
693
661
|
this._raf = this._caf = null;
|
|
694
662
|
};
|
|
663
|
+
/**
|
|
664
|
+
* Add a listening function for session state changes.
|
|
665
|
+
* @deprecated Use `onStateChanged.on(listener)` instead.
|
|
666
|
+
*/ _proto.addStateChangedListener = function addStateChangedListener(listener) {
|
|
667
|
+
this.onStateChanged.on(listener);
|
|
668
|
+
};
|
|
669
|
+
/**
|
|
670
|
+
* Remove a listening function of session state changes.
|
|
671
|
+
* @deprecated Use `onStateChanged.off(listener)` instead.
|
|
672
|
+
*/ _proto.removeStateChangedListener = function removeStateChangedListener(listener) {
|
|
673
|
+
this.onStateChanged.off(listener);
|
|
674
|
+
};
|
|
695
675
|
_create_class(XRSessionManager, [
|
|
696
676
|
{
|
|
697
677
|
key: "mode",
|
|
@@ -1007,26 +987,10 @@
|
|
|
1007
987
|
_inherits(XRTrackableFeature, XRFeature);
|
|
1008
988
|
function XRTrackableFeature() {
|
|
1009
989
|
var _this;
|
|
1010
|
-
_this = XRFeature.apply(this, arguments) || this, _this._requestTrackings = [], _this._tracked = [], _this._added = [], _this._updated = [], _this._removed = [], _this._statusSnapshot = {}
|
|
990
|
+
_this = XRFeature.apply(this, arguments) || this, /** Signal emitted when tracked objects change. */ _this.onChanged = new engine.Signal(), _this._requestTrackings = [], _this._tracked = [], _this._added = [], _this._updated = [], _this._removed = [], _this._statusSnapshot = {};
|
|
1011
991
|
return _this;
|
|
1012
992
|
}
|
|
1013
993
|
var _proto = XRTrackableFeature.prototype;
|
|
1014
|
-
/**
|
|
1015
|
-
* Add a listening function for tracked object changes.
|
|
1016
|
-
* @param listener - The listening function
|
|
1017
|
-
*/ _proto.addChangedListener = function addChangedListener(listener) {
|
|
1018
|
-
this._listeners.push({
|
|
1019
|
-
fn: listener
|
|
1020
|
-
});
|
|
1021
|
-
};
|
|
1022
|
-
/**
|
|
1023
|
-
* Remove a listening function of tracked object changes.
|
|
1024
|
-
* @param listener - The listening function
|
|
1025
|
-
*/ _proto.removeChangedListener = function removeChangedListener(listener) {
|
|
1026
|
-
this._listeners.findAndRemove(function(value) {
|
|
1027
|
-
return value.fn === listener ? value.destroyed = true : false;
|
|
1028
|
-
});
|
|
1029
|
-
};
|
|
1030
994
|
_proto._onUpdate = function _onUpdate() {
|
|
1031
995
|
var _this__xrManager_sessionManager = this._xrManager.sessionManager, platformSession = _this__xrManager_sessionManager._platformSession;
|
|
1032
996
|
var platformFrame = platformSession.frame;
|
|
@@ -1082,11 +1046,7 @@
|
|
|
1082
1046
|
requestTrackings[i1].state === XRRequestTrackingState.Destroyed && requestTrackings.splice(i1, 1);
|
|
1083
1047
|
}
|
|
1084
1048
|
if (added.length > 0 || updated.length > 0 || removed.length > 0) {
|
|
1085
|
-
|
|
1086
|
-
for(var i2 = 0, n3 = listeners.length; i2 < n3; i2++){
|
|
1087
|
-
var listener = listeners[i2];
|
|
1088
|
-
!listener.destroyed && listener.fn(added, updated, removed);
|
|
1089
|
-
}
|
|
1049
|
+
this.onChanged.invoke(added, updated, removed);
|
|
1090
1050
|
}
|
|
1091
1051
|
};
|
|
1092
1052
|
_proto._onSessionStop = function _onSessionStop() {
|
|
@@ -1095,9 +1055,7 @@
|
|
|
1095
1055
|
_proto._onSessionExit = function _onSessionExit() {
|
|
1096
1056
|
// prettier-ignore
|
|
1097
1057
|
this._requestTrackings.length = this._tracked.length = this._added.length = this._updated.length = this._removed.length = 0;
|
|
1098
|
-
this.
|
|
1099
|
-
return value.destroyed = true;
|
|
1100
|
-
});
|
|
1058
|
+
this.onChanged.removeAll();
|
|
1101
1059
|
};
|
|
1102
1060
|
_proto._addRequestTracking = function _addRequestTracking(requestTracking) {
|
|
1103
1061
|
var _this = this, platformFeature = _this._platformFeature;
|
|
@@ -1124,6 +1082,18 @@
|
|
|
1124
1082
|
platformFeature.onDelRequestTracking(requestTrackings[i]);
|
|
1125
1083
|
}
|
|
1126
1084
|
};
|
|
1085
|
+
/**
|
|
1086
|
+
* Add a listening function for tracked object changes.
|
|
1087
|
+
* @deprecated Use `onChanged.on(listener)` instead.
|
|
1088
|
+
*/ _proto.addChangedListener = function addChangedListener(listener) {
|
|
1089
|
+
this.onChanged.on(listener);
|
|
1090
|
+
};
|
|
1091
|
+
/**
|
|
1092
|
+
* Remove a listening function of tracked object changes.
|
|
1093
|
+
* @deprecated Use `onChanged.off(listener)` instead.
|
|
1094
|
+
*/ _proto.removeChangedListener = function removeChangedListener(listener) {
|
|
1095
|
+
this.onChanged.off(listener);
|
|
1096
|
+
};
|
|
1127
1097
|
return XRTrackableFeature;
|
|
1128
1098
|
}(XRFeature);
|
|
1129
1099
|
XRTrackableFeature._uuid = 0;
|