sugarcube.d.ts 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { SimpleAudioAPI } from "./audio";
  2. import { ConfigAPI } from "./config";
  3. import { EngineAPI } from "./engine";
  4. import { MacroAPI } from "./macro";
  5. import { SaveAPI } from "./save";
  6. import { ScriptingAPI } from "./scripting";
  7. import { SettingsAPI } from "./settings";
  8. import { StateAPI } from "./state";
  9. import { StoryAPI } from "./story";
  10. import { DialogAPI, FullscreenAPI, UIAPI, UIBarAPI } from "./ui";
  11. import { SugarCubeSettingVariables, SugarCubeSetupObject } from "./userdata";
  12. import { WikifierAPI } from "./wiki";
  13. export interface SugarCubeObject {
  14. readonly Browser: {
  15. readonly userAgent: string;
  16. readonly isMobile: {
  17. readonly Android: boolean;
  18. readonly BlackBerry: boolean;
  19. readonly iOS: boolean;
  20. readonly Opera: boolean;
  21. readonly Windows: boolean;
  22. any: () => boolean;
  23. };
  24. readonly isGecko: boolean;
  25. readonly isIE: boolean;
  26. readonly ieVersion: number | null;
  27. readonly isOpera: boolean;
  28. readonly operaVersion: number | null;
  29. readonly isVivaldi: boolean;
  30. };
  31. readonly Config: ConfigAPI;
  32. readonly Dialog: DialogAPI;
  33. readonly Engine: EngineAPI;
  34. readonly Fullscreen: FullscreenAPI;
  35. readonly Has: {
  36. readonly audio: boolean;
  37. readonly fileAPI: boolean;
  38. readonly geolocation: boolean;
  39. readonly mutationObserver: boolean;
  40. readonly performance: boolean;
  41. readonly touch: boolean;
  42. readonly transitionEndEvent: string;
  43. };
  44. readonly Macro: MacroAPI;
  45. readonly Save: SaveAPI;
  46. readonly Scripting: ScriptingAPI;
  47. readonly Setting: SettingsAPI;
  48. readonly SimpleAudio: SimpleAudioAPI;
  49. readonly State: StateAPI;
  50. readonly Story: StoryAPI;
  51. readonly UI: UIAPI;
  52. readonly UIBar: UIBarAPI;
  53. readonly Wikifier: WikifierAPI;
  54. /**
  55. * Player settings object, set up by the author/developer. See Setting API for more information.
  56. * @since 2.0.0
  57. */
  58. readonly settings: SugarCubeSettingVariables;
  59. /**
  60. * Object that authors/developers may use to set up various bits of static data.
  61. *
  62. * Generally, you would use this for data that does not change and should not be stored
  63. * within story variables, which would make it part of the history.
  64. * @since 2.0.0
  65. */
  66. readonly setup: SugarCubeSetupObject;
  67. readonly storage: any;
  68. readonly session: any;
  69. readonly version: {
  70. readonly title: string;
  71. readonly major: number;
  72. readonly minor: number;
  73. readonly patch: number;
  74. readonly prerelease: string | null;
  75. readonly build: number;
  76. readonly date: Date;
  77. toString(): string;
  78. };
  79. }
  80. export {};