@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-xr",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.21",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -26,11 +26,11 @@
26
26
  "types/**/*"
27
27
  ],
28
28
  "devDependencies": {
29
- "@galacean/engine-design": "2.0.0-alpha.2",
30
- "@galacean/engine": "2.0.0-alpha.2"
29
+ "@galacean/engine-design": "2.0.0-alpha.21",
30
+ "@galacean/engine": "2.0.0-alpha.21"
31
31
  },
32
32
  "peerDependencies": {
33
- "@galacean/engine": "2.0.0-alpha.2"
33
+ "@galacean/engine": "2.0.0-alpha.21"
34
34
  },
35
35
  "scripts": {
36
36
  "b:types": "tsc"
@@ -4,10 +4,6 @@ import { XRCameraManager } from "./feature/camera/XRCameraManager";
4
4
  import { XRInputManager } from "./input/XRInputManager";
5
5
  import { XRSessionManager } from "./session/XRSessionManager";
6
6
  import { XRSessionMode } from "./session/XRSessionMode";
7
- export interface IXRListener {
8
- fn: (...args: any[]) => any;
9
- destroyed?: boolean;
10
- }
11
7
  type TFeatureConstructor<T extends XRFeature> = new (xrManager: XRManagerExtended, ...args: any[]) => T;
12
8
  type TFeatureConstructorArguments<T extends new (xrManager: XRManagerExtended, ...args: any[]) => XRFeature> = T extends new (xrManager: XRManagerExtended, ...args: infer P) => XRFeature ? P : never;
13
9
  declare module "@galacean/engine" {
@@ -1,3 +1,4 @@
1
+ import { Signal } from "@galacean/engine";
1
2
  import { IXRTrackablePlatformFeature } from "@galacean/engine-design";
2
3
  import { XRTrackingState } from "../../input/XRTrackingState";
3
4
  import { XRFeature } from "../XRFeature";
@@ -8,28 +9,29 @@ import { XRTracked } from "./XRTracked";
8
9
  */
9
10
  export declare abstract class XRTrackableFeature<T extends XRTracked = XRTracked, K extends XRRequestTracking<T> = XRRequestTracking<T>> extends XRFeature<IXRTrackablePlatformFeature<T, K>> {
10
11
  protected static _uuid: number;
12
+ /** Signal emitted when tracked objects change. */
13
+ readonly onChanged: Signal<[readonly T[], readonly T[], readonly T[]]>;
11
14
  protected _requestTrackings: K[];
12
15
  protected _tracked: T[];
13
16
  protected _added: T[];
14
17
  protected _updated: T[];
15
18
  protected _removed: T[];
16
19
  protected _statusSnapshot: Record<number, XRTrackingState>;
17
- private _listeners;
20
+ _onUpdate(): void;
21
+ _onSessionStop(): void;
22
+ _onSessionExit(): void;
23
+ protected _addRequestTracking(requestTracking: K): void;
24
+ protected _removeRequestTracking(requestTracking: K): void;
25
+ protected _removeAllRequestTrackings(): void;
26
+ protected abstract _generateTracked(): T;
18
27
  /**
19
28
  * Add a listening function for tracked object changes.
20
- * @param listener - The listening function
29
+ * @deprecated Use `onChanged.on(listener)` instead.
21
30
  */
22
31
  addChangedListener(listener: (added: readonly T[], updated: readonly T[], removed: readonly T[]) => void): void;
23
32
  /**
24
33
  * Remove a listening function of tracked object changes.
25
- * @param listener - The listening function
34
+ * @deprecated Use `onChanged.off(listener)` instead.
26
35
  */
27
36
  removeChangedListener(listener: (added: readonly T[], updated: readonly T[], removed: readonly T[]) => void): void;
28
- _onUpdate(): void;
29
- _onSessionStop(): void;
30
- _onSessionExit(): void;
31
- protected _addRequestTracking(requestTracking: K): void;
32
- protected _removeRequestTracking(requestTracking: K): void;
33
- protected _removeAllRequestTrackings(): void;
34
- protected abstract _generateTracked(): T;
35
37
  }
@@ -1,3 +1,4 @@
1
+ import { Signal } from "@galacean/engine";
1
2
  import { XRInput } from "./XRInput";
2
3
  import { XRTrackedInputDevice } from "./XRTrackedInputDevice";
3
4
  /**
@@ -6,27 +7,28 @@ import { XRTrackedInputDevice } from "./XRTrackedInputDevice";
6
7
  export declare class XRInputManager {
7
8
  private _xrManager;
8
9
  private _engine;
10
+ /** Signal emitted when tracked devices change. */
11
+ readonly onTrackedDeviceChanged: Signal<[readonly XRInput[], readonly XRInput[]]>;
9
12
  private _added;
10
13
  private _removed;
11
14
  private _trackedDevices;
12
15
  private _statusSnapshot;
13
- private _listeners;
14
16
  /**
15
17
  * Returns the tracked device instance.
16
18
  * @param type - The tracked input device type
17
19
  * @returns The input instance
18
20
  */
19
21
  getTrackedDevice<T extends XRInput>(type: XRTrackedInputDevice): T;
22
+ private _handleEvent;
23
+ private _makeUpPointerEvent;
20
24
  /**
21
25
  * Add a listener for tracked device changes.
22
- * @param listener - The listener to add
26
+ * @deprecated Use `onTrackedDeviceChanged.on(listener)` instead.
23
27
  */
24
28
  addTrackedDeviceChangedListener(listener: (added: readonly XRInput[], removed: readonly XRInput[]) => void): void;
25
29
  /**
26
30
  * Remove a listener of tracked device changes.
27
- * @param listener - The listener to remove
31
+ * @deprecated Use `onTrackedDeviceChanged.off(listener)` instead.
28
32
  */
29
33
  removeTrackedDeviceChangedListener(listener: (added: readonly XRInput[], removed: readonly XRInput[]) => void): void;
30
- private _handleEvent;
31
- private _makeUpPointerEvent;
32
34
  }
@@ -1,3 +1,4 @@
1
+ import { Signal } from "@galacean/engine";
1
2
  import { XRSessionMode } from "./XRSessionMode";
2
3
  import { XRSessionState } from "./XRSessionState";
3
4
  /**
@@ -6,12 +7,13 @@ import { XRSessionState } from "./XRSessionState";
6
7
  export declare class XRSessionManager {
7
8
  private _xrManager;
8
9
  private _engine;
10
+ /** Signal emitted when session state changes. */
11
+ readonly onStateChanged: Signal<[XRSessionState]>;
9
12
  private _mode;
10
13
  private _state;
11
14
  private _rhi;
12
15
  private _raf;
13
16
  private _caf;
14
- private _listeners;
15
17
  /**
16
18
  * The current session mode( AR or VR ).
17
19
  */
@@ -42,15 +44,15 @@ export declare class XRSessionManager {
42
44
  * Stop the session.
43
45
  */
44
46
  stop(): void;
47
+ private _onSessionExit;
45
48
  /**
46
49
  * Add a listening function for session state changes.
47
- * @param listener - The listening function
50
+ * @deprecated Use `onStateChanged.on(listener)` instead.
48
51
  */
49
52
  addStateChangedListener(listener: (state: XRSessionState) => void): void;
50
53
  /**
51
54
  * Remove a listening function of session state changes.
52
- * @param listener - The listening function
55
+ * @deprecated Use `onStateChanged.off(listener)` instead.
53
56
  */
54
57
  removeStateChangedListener(listener: (state: XRSessionState) => void): void;
55
- private _onSessionExit;
56
58
  }