tgx.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. //basic
  2. import { ISceneInfo, SceneUtil } from "./base/SceneUtils";
  3. import { AudioMgr } from "./base/AudioMgr";
  4. import { InputMgr } from "./base/InputMgr";
  5. import { ResourceMgr } from "./base/ResourceMgr";
  6. import { SafeJSON } from "./base/SafeJSON";
  7. import { ResolutionAutoFit } from "./base/ResolutionAutoFit";
  8. import { ModuleContext } from "./base/ModuleContext";
  9. //camera
  10. import { FPSCamera } from "./easy_camera/FPSCamera";
  11. import { FollowCamera2D } from "./easy_camera/FollowCamera2D";
  12. import { FreeCamera } from "./easy_camera/FreeCamera";
  13. import { ThirdPersonCamera } from "./easy_camera/ThirdPersonCamera";
  14. //easy controller
  15. import { CharacterMovement } from "./easy_controller/CharacterMovement";
  16. import { CharacterMovement2D } from "./easy_controller/CharacterMovement2D";
  17. import { EasyController, EasyControllerEvent } from "./easy_controller/EasyController";
  18. import { ThirdPersonCameraCtrl } from "./easy_controller/ThirdPersonCameraCtrl";
  19. import { UIJoystick } from "./easy_controller/UIJoystick";
  20. //ui framework
  21. import { UIAlert, Layout_UIAlert } from "./easy_ui_framework/alert/UIAlert";
  22. import { Layout_UIWaiting } from "./easy_ui_framework/waiting/Layout_UIWaiting";
  23. import { UIWaiting } from "./easy_ui_framework/waiting/UIWaiting";
  24. import { EventDispatcher } from "./easy_ui_framework/EventDispatcher";
  25. import { UIController } from "./easy_ui_framework/UIController";
  26. import { UILayers, UILayerNames } from "./easy_ui_framework/UILayers";
  27. import { UIMgr } from "./easy_ui_framework/UIMgr";
  28. import { URLUtils } from "./base/URLUtils";
  29. const __tgx__ = {
  30. //base
  31. ISceneInfo,
  32. SceneUtil,
  33. AudioMgr,
  34. InputMgr,
  35. ResourceMgr,
  36. SafeJSON,
  37. ResolutionAutoFit,
  38. ModuleContext,
  39. //camera
  40. FPSCamera,
  41. FollowCamera2D,
  42. FreeCamera,
  43. ThirdPersonCamera,
  44. //easy controller
  45. CharacterMovement,
  46. CharacterMovement2D,
  47. EasyController,
  48. EasyControllerEvent,
  49. ThirdPersonCameraCtrl,
  50. UIJoystick,
  51. //ui framework
  52. Layout_UIAlert,
  53. UIAlert,
  54. Layout_UIWaiting,
  55. UIWaiting,
  56. EventDispatcher,
  57. UIController,
  58. UILayers,
  59. UILayerNames,
  60. UIMgr,
  61. URLUtils,
  62. };
  63. (globalThis as any)['tgx'] = __tgx__;
  64. //下面是声明,编程时提示。
  65. declare global {
  66. namespace globalThis {
  67. namespace tgx {
  68. export {
  69. //base
  70. ISceneInfo,
  71. SceneUtil,
  72. AudioMgr,
  73. InputMgr,
  74. ResourceMgr,
  75. SafeJSON,
  76. ResolutionAutoFit,
  77. ModuleContext,
  78. //camera
  79. FPSCamera,
  80. FollowCamera2D,
  81. FreeCamera,
  82. ThirdPersonCamera,
  83. //easy controller
  84. CharacterMovement,
  85. CharacterMovement2D,
  86. EasyController,
  87. EasyControllerEvent,
  88. ThirdPersonCameraCtrl,
  89. UIJoystick,
  90. //ui framework
  91. Layout_UIAlert,
  92. UIAlert,
  93. Layout_UIWaiting,
  94. UIWaiting,
  95. EventDispatcher,
  96. UIController,
  97. UILayers,
  98. UILayerNames,
  99. UIMgr,
  100. URLUtils,
  101. }
  102. }
  103. /**
  104. * @en to ensure tgx_class is loaded before all other scripts, the implementation is placed in tgx_class.js and loaded as a plugin.
  105. * @zh tgx_class 需要确保在所有脚本加载之前加载,所以 tgx_class 真正的定义放在了 tgx_class.js 里,并使用插件方式加载。
  106. */
  107. const tgx_class: (module: string, superCls?: Function) => any;
  108. }
  109. }