gamepadManager.d.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { Observable } from "../Misc/observable";
  2. import type { Nullable } from "../types";
  3. import type { Scene } from "../scene";
  4. import { Gamepad } from "./gamepad";
  5. /**
  6. * Manager for handling gamepads
  7. */
  8. export declare class GamepadManager {
  9. private _scene?;
  10. private _babylonGamepads;
  11. private _oneGamepadConnected;
  12. /** @internal */
  13. _isMonitoring: boolean;
  14. private _gamepadEventSupported;
  15. private _gamepadSupport?;
  16. /**
  17. * observable to be triggered when the gamepad controller has been connected
  18. */
  19. onGamepadConnectedObservable: Observable<Gamepad>;
  20. /**
  21. * observable to be triggered when the gamepad controller has been disconnected
  22. */
  23. onGamepadDisconnectedObservable: Observable<Gamepad>;
  24. private _onGamepadConnectedEvent;
  25. private _onGamepadDisconnectedEvent;
  26. /**
  27. * Initializes the gamepad manager
  28. * @param _scene BabylonJS scene
  29. */
  30. constructor(_scene?: Scene | undefined);
  31. /**
  32. * The gamepads in the game pad manager
  33. */
  34. get gamepads(): Gamepad[];
  35. /**
  36. * Get the gamepad controllers based on type
  37. * @param type The type of gamepad controller
  38. * @returns Nullable gamepad
  39. */
  40. getGamepadByType(type?: number): Nullable<Gamepad>;
  41. /**
  42. * Disposes the gamepad manager
  43. */
  44. dispose(): void;
  45. private _addNewGamepad;
  46. private _startMonitoringGamepads;
  47. private _stopMonitoringGamepads;
  48. private _loggedErrors;
  49. /** @internal */
  50. _checkGamepadsStatus(): void;
  51. private _updateGamepadObjects;
  52. }