@open-core/framework 1.0.5-beta.1 → 1.0.5

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.
Files changed (397) hide show
  1. package/dist/adapters/contracts/IEngineEvents.d.ts +5 -2
  2. package/dist/adapters/contracts/IEngineEvents.js +7 -0
  3. package/dist/adapters/contracts/IExports.d.ts +2 -2
  4. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  5. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  6. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +25 -0
  7. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +8 -0
  8. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  9. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  10. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  11. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  12. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  13. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  14. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  15. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  16. package/dist/adapters/contracts/client/camera/IClientCameraPort.d.ts +107 -0
  17. package/dist/adapters/contracts/client/camera/IClientCameraPort.js +8 -0
  18. package/dist/adapters/contracts/client/camera/index.d.ts +1 -0
  19. package/dist/adapters/contracts/client/camera/index.js +1 -0
  20. package/dist/adapters/contracts/client/index.d.ts +11 -0
  21. package/dist/adapters/contracts/client/index.js +11 -0
  22. package/dist/adapters/contracts/client/ped/IClientPedPort.d.ts +62 -0
  23. package/dist/adapters/contracts/client/ped/IClientPedPort.js +5 -0
  24. package/dist/adapters/contracts/client/ped/index.d.ts +1 -0
  25. package/dist/adapters/contracts/client/ped/index.js +1 -0
  26. package/dist/adapters/contracts/client/progress/IClientProgressPort.d.ts +53 -0
  27. package/dist/adapters/contracts/client/progress/IClientProgressPort.js +8 -0
  28. package/dist/adapters/contracts/client/progress/index.d.ts +1 -0
  29. package/dist/adapters/contracts/client/progress/index.js +1 -0
  30. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +6 -0
  31. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +6 -0
  32. package/dist/adapters/contracts/client/spawn/IClientSpawnPort.d.ts +19 -0
  33. package/dist/adapters/contracts/client/spawn/IClientSpawnPort.js +2 -0
  34. package/dist/adapters/contracts/client/spawn/index.d.ts +4 -0
  35. package/dist/adapters/contracts/client/spawn/index.js +4 -0
  36. package/dist/adapters/contracts/client/spawn/types.d.ts +17 -0
  37. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  38. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  39. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  40. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  41. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  42. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  43. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  44. package/dist/adapters/contracts/client/ui/index.js +4 -0
  45. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +14 -0
  46. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  47. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  48. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  49. package/dist/adapters/contracts/client/ui/webview/types.d.ts +27 -0
  50. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  51. package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.d.ts +166 -0
  52. package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.js +8 -0
  53. package/dist/adapters/contracts/client/vehicle/index.d.ts +1 -0
  54. package/dist/adapters/contracts/client/vehicle/index.js +1 -0
  55. package/dist/adapters/contracts/index.d.ts +4 -2
  56. package/dist/adapters/contracts/index.js +4 -3
  57. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  58. package/dist/adapters/contracts/runtime/index.js +1 -0
  59. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  60. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  61. package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
  62. package/dist/adapters/contracts/server/IEntityServer.js +0 -26
  63. package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
  64. package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
  65. package/dist/adapters/contracts/server/index.d.ts +10 -0
  66. package/dist/adapters/contracts/server/index.js +10 -0
  67. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  68. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  69. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  70. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  71. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  72. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  73. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  74. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  75. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  76. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  77. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  78. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  79. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  80. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  81. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  82. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  83. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  84. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  85. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  86. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  87. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  88. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  89. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  90. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  91. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  92. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  93. package/dist/adapters/contracts/transport/events.api.d.ts +3 -3
  94. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  95. package/dist/adapters/contracts/transport/index.js +4 -0
  96. package/dist/adapters/contracts/transport/rpc.api.d.ts +3 -3
  97. package/dist/adapters/index.d.ts +3 -14
  98. package/dist/adapters/index.js +3 -20
  99. package/dist/adapters/node/node-capabilities.d.ts +11 -11
  100. package/dist/adapters/node/node-capabilities.js +15 -27
  101. package/dist/adapters/node/node-engine-events.d.ts +1 -1
  102. package/dist/adapters/node/node-engine-events.js +2 -1
  103. package/dist/adapters/node/node-entity-server.d.ts +2 -2
  104. package/dist/adapters/node/node-entity-server.js +2 -2
  105. package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
  106. package/dist/adapters/node/node-ped-appearance-client.js +2 -2
  107. package/dist/adapters/node/node-platform.js +4 -4
  108. package/dist/adapters/node/node-player-server.d.ts +3 -2
  109. package/dist/adapters/node/node-player-server.js +8 -2
  110. package/dist/adapters/node/transport/node.events.d.ts +4 -4
  111. package/dist/adapters/node/transport/node.rpc.d.ts +3 -3
  112. package/dist/adapters/node/transport/node.rpc.js +1 -1
  113. package/dist/adapters/register-capabilities.d.ts +1 -1
  114. package/dist/adapters/register-capabilities.js +1 -3
  115. package/dist/adapters/register-client-capabilities.d.ts +3 -2
  116. package/dist/adapters/register-client-capabilities.js +16 -41
  117. package/dist/contracts/client.d.ts +5 -0
  118. package/dist/contracts/client.js +5 -0
  119. package/dist/contracts/server.d.ts +19 -0
  120. package/dist/contracts/server.js +19 -0
  121. package/dist/contracts.d.ts +5 -0
  122. package/dist/contracts.js +5 -0
  123. package/dist/index.d.ts +2 -1
  124. package/dist/index.js +2 -1
  125. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  126. package/dist/kernel/logger/client-log-console.js +43 -0
  127. package/dist/kernel/logger/core-logger.d.ts +3 -1
  128. package/dist/kernel/logger/core-logger.js +4 -2
  129. package/dist/kernel/logger/index.d.ts +3 -1
  130. package/dist/kernel/logger/index.js +2 -1
  131. package/dist/kernel/logger/logger.types.d.ts +1 -0
  132. package/dist/kernel/logger/logger.types.js +35 -0
  133. package/dist/kernel/logger/transports/buffered.transport.js +4 -4
  134. package/dist/kernel/logger/transports/console.transport.js +2 -2
  135. package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
  136. package/dist/kernel/logger/transports/simple-console.transport.js +15 -10
  137. package/dist/kernel-public.d.ts +1 -0
  138. package/dist/kernel-public.js +1 -0
  139. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  140. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  141. package/dist/runtime/client/adapter/index.d.ts +20 -0
  142. package/dist/runtime/client/adapter/index.js +20 -0
  143. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  144. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  145. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  146. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  147. package/dist/runtime/client/adapter/node-camera-port.d.ts +19 -0
  148. package/dist/runtime/client/adapter/node-camera-port.js +31 -0
  149. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  150. package/dist/runtime/client/adapter/node-client-adapter.js +64 -0
  151. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +11 -0
  152. package/dist/runtime/client/adapter/node-local-player-bridge.js +27 -0
  153. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  154. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  155. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  156. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  157. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  158. package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-notification-bridge.js} +7 -11
  159. package/dist/runtime/client/adapter/node-ped-port.d.ts +20 -0
  160. package/dist/runtime/client/adapter/node-ped-port.js +38 -0
  161. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  162. package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
  163. package/dist/runtime/client/adapter/node-progress-port.d.ts +8 -0
  164. package/dist/runtime/client/adapter/node-progress-port.js +27 -0
  165. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +22 -0
  166. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  167. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  168. package/dist/runtime/client/adapter/node-spawn-bridge.js +22 -0
  169. package/dist/runtime/client/adapter/node-vehicle-port.d.ts +31 -0
  170. package/dist/runtime/client/adapter/node-vehicle-port.js +73 -0
  171. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +16 -0
  172. package/dist/runtime/client/adapter/node-webview-bridge.js +45 -0
  173. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  174. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  175. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  176. package/dist/runtime/client/adapter/registry.js +85 -0
  177. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  178. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  179. package/dist/runtime/client/api.d.ts +2 -1
  180. package/dist/runtime/client/api.js +2 -1
  181. package/dist/runtime/client/client-bootstrap.js +51 -44
  182. package/dist/runtime/client/client-core.d.ts +2 -0
  183. package/dist/runtime/client/client-core.js +9 -0
  184. package/dist/runtime/client/client-runtime.d.ts +3 -0
  185. package/dist/runtime/client/client-runtime.js +3 -0
  186. package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
  187. package/dist/runtime/client/controllers/appearance.controller.js +17 -6
  188. package/dist/runtime/client/controllers/spawner.controller.js +6 -3
  189. package/dist/runtime/client/decorators/controller.js +2 -10
  190. package/dist/runtime/client/decorators/onView.d.ts +3 -3
  191. package/dist/runtime/client/decorators/onView.js +3 -3
  192. package/dist/runtime/client/index.d.ts +1 -0
  193. package/dist/runtime/client/index.js +1 -0
  194. package/dist/runtime/client/library/create-client-library.js +9 -1
  195. package/dist/runtime/client/services/appearance.service.d.ts +2 -2
  196. package/dist/runtime/client/services/appearance.service.js +7 -4
  197. package/dist/runtime/client/services/blip.service.d.ts +6 -93
  198. package/dist/runtime/client/services/blip.service.js +58 -153
  199. package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
  200. package/dist/runtime/client/services/camera-effects.registry.js +20 -7
  201. package/dist/runtime/client/services/camera.d.ts +4 -106
  202. package/dist/runtime/client/services/camera.js +36 -98
  203. package/dist/runtime/client/services/cinematic.d.ts +5 -1
  204. package/dist/runtime/client/services/cinematic.js +45 -30
  205. package/dist/runtime/client/services/index.d.ts +1 -0
  206. package/dist/runtime/client/services/index.js +1 -0
  207. package/dist/runtime/client/services/marker.service.d.ts +12 -63
  208. package/dist/runtime/client/services/marker.service.js +62 -97
  209. package/dist/runtime/client/services/notification.service.d.ts +6 -57
  210. package/dist/runtime/client/services/notification.service.js +43 -81
  211. package/dist/runtime/client/services/ped.service.d.ts +6 -148
  212. package/dist/runtime/client/services/ped.service.js +42 -221
  213. package/dist/runtime/client/services/progress.service.d.ts +4 -75
  214. package/dist/runtime/client/services/progress.service.js +20 -178
  215. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  216. package/dist/runtime/client/services/session-bridge.service.js +62 -0
  217. package/dist/runtime/client/services/spawn.service.d.ts +4 -56
  218. package/dist/runtime/client/services/spawn.service.js +29 -191
  219. package/dist/runtime/client/services/streaming.service.d.ts +5 -126
  220. package/dist/runtime/client/services/streaming.service.js +72 -217
  221. package/dist/runtime/client/services/textui.service.d.ts +5 -45
  222. package/dist/runtime/client/services/textui.service.js +55 -88
  223. package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
  224. package/dist/runtime/client/services/vehicle-client.service.js +128 -374
  225. package/dist/runtime/client/services/vehicle.service.d.ts +4 -147
  226. package/dist/runtime/client/services/vehicle.service.js +33 -239
  227. package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
  228. package/dist/runtime/client/system/processors/export.processor.js +16 -3
  229. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
  230. package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
  231. package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
  232. package/dist/runtime/client/system/processors/interval.processor.js +17 -4
  233. package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
  234. package/dist/runtime/client/system/processors/key.processor.js +18 -5
  235. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
  236. package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
  237. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
  238. package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
  239. package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
  240. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
  241. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
  242. package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
  243. package/dist/runtime/client/system/processors/tick.processor.js +16 -3
  244. package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
  245. package/dist/runtime/client/system/processors/view.processor.js +21 -10
  246. package/dist/runtime/client/system/processors.register.d.ts +1 -0
  247. package/dist/runtime/client/system/processors.register.js +8 -0
  248. package/dist/runtime/client/ui-bridge.d.ts +2 -114
  249. package/dist/runtime/client/ui-bridge.js +2 -194
  250. package/dist/runtime/client/webview-bridge.d.ts +34 -0
  251. package/dist/runtime/client/webview-bridge.js +103 -0
  252. package/dist/runtime/client/webview.service.d.ts +15 -0
  253. package/dist/runtime/client/webview.service.js +103 -0
  254. package/dist/runtime/server/adapter/index.d.ts +5 -0
  255. package/dist/runtime/server/adapter/index.js +5 -0
  256. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  257. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  258. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  259. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +95 -0
  260. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  261. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +56 -0
  262. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  263. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  264. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  265. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  266. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  267. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +58 -0
  268. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  269. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  270. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  271. package/dist/runtime/server/adapter/registry.js +101 -0
  272. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  273. package/dist/runtime/server/adapter/serialization.js +9 -0
  274. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  275. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  276. package/dist/runtime/server/api.d.ts +2 -1
  277. package/dist/runtime/server/api.js +2 -1
  278. package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
  279. package/dist/runtime/server/apis/appearance.api.js +20 -7
  280. package/dist/runtime/server/apis/chat.api.js +6 -5
  281. package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
  282. package/dist/runtime/server/apis/npcs.api.js +28 -57
  283. package/dist/runtime/server/apis/parallel-compute.api.js +1 -0
  284. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
  285. package/dist/runtime/server/apis/vehicle-modification.api.js +13 -6
  286. package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
  287. package/dist/runtime/server/apis/vehicles.api.js +55 -40
  288. package/dist/runtime/server/bootstrap.js +28 -19
  289. package/dist/runtime/server/controllers/channel.controller.js +2 -1
  290. package/dist/runtime/server/controllers/command-export.controller.js +5 -3
  291. package/dist/runtime/server/controllers/player-export.controller.js +5 -4
  292. package/dist/runtime/server/controllers/remote-command-execution.controller.js +2 -1
  293. package/dist/runtime/server/controllers/session.controller.js +3 -2
  294. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
  295. package/dist/runtime/server/controllers/vehicle.controller.js +13 -7
  296. package/dist/runtime/server/core.d.ts +2 -0
  297. package/dist/runtime/server/core.js +9 -1
  298. package/dist/runtime/server/decorators/command.d.ts +2 -0
  299. package/dist/runtime/server/decorators/command.js +3 -1
  300. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
  301. package/dist/runtime/server/entities/npc.d.ts +3 -1
  302. package/dist/runtime/server/entities/npc.js +3 -3
  303. package/dist/runtime/server/entities/player.d.ts +9 -12
  304. package/dist/runtime/server/entities/player.js +49 -31
  305. package/dist/runtime/server/entities/vehicle.js +2 -2
  306. package/dist/runtime/server/error-handler.js +13 -2
  307. package/dist/runtime/server/helpers/command-validation.helper.js +21 -8
  308. package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
  309. package/dist/runtime/server/helpers/function-helper.js +15 -8
  310. package/dist/runtime/server/implementations/local/channel.local.d.ts +1 -1
  311. package/dist/runtime/server/implementations/local/channel.local.js +3 -2
  312. package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
  313. package/dist/runtime/server/implementations/local/player.local.js +23 -11
  314. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
  315. package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
  316. package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
  317. package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
  318. package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
  319. package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
  320. package/dist/runtime/server/library/create-server-library.js +17 -2
  321. package/dist/runtime/server/ports/channel.api-port.d.ts +1 -1
  322. package/dist/runtime/server/runtime.d.ts +3 -0
  323. package/dist/runtime/server/runtime.js +1 -15
  324. package/dist/runtime/server/services/appearance.service.d.ts +0 -95
  325. package/dist/runtime/server/services/appearance.service.js +15 -192
  326. package/dist/runtime/server/services/parallel/worker-pool.d.ts +1 -1
  327. package/dist/runtime/server/services/parallel/worker-pool.js +38 -6
  328. package/dist/runtime/server/services/parallel/worker.js +1 -0
  329. package/dist/runtime/server/services/services.register.js +56 -24
  330. package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
  331. package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
  332. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
  333. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
  334. package/dist/runtime/server/system/schema-generator.d.ts +1 -1
  335. package/dist/runtime/server/system/schema-generator.js +6 -3
  336. package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
  337. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  338. package/dist/runtime/shared/helpers/process-tuple-schema.js +32 -0
  339. package/dist/runtime/shared/types/system-types.d.ts +55 -0
  340. package/dist/runtime/shared/types/system-types.js +54 -0
  341. package/package.json +41 -13
  342. package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
  343. package/dist/adapters/cfx/cfx-capabilities.js +0 -70
  344. package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
  345. package/dist/adapters/cfx/cfx-platform.js +0 -85
  346. package/dist/adapters/cfx/index.d.ts +0 -3
  347. package/dist/adapters/cfx/index.js +0 -3
  348. package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
  349. package/dist/adapters/cfx/runtime-profile.js +0 -37
  350. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
  351. package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
  352. package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
  353. package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
  354. package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
  355. package/dist/adapters/fivem/fivem-capabilities.js +0 -61
  356. package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
  357. package/dist/adapters/fivem/fivem-engine-events.js +0 -24
  358. package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
  359. package/dist/adapters/fivem/fivem-entity-server.js +0 -87
  360. package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
  361. package/dist/adapters/fivem/fivem-exports.js +0 -9
  362. package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
  363. package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
  364. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
  365. package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
  366. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
  367. package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
  368. package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
  369. package/dist/adapters/fivem/fivem-ped-server.js +0 -30
  370. package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
  371. package/dist/adapters/fivem/fivem-platform.js +0 -74
  372. package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
  373. package/dist/adapters/fivem/fivem-player-server.js +0 -83
  374. package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
  375. package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
  376. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
  377. package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
  378. package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
  379. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
  380. package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
  381. package/dist/adapters/fivem/index.d.ts +0 -14
  382. package/dist/adapters/fivem/index.js +0 -16
  383. package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
  384. package/dist/adapters/fivem/transport/adapter.js +0 -8
  385. package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
  386. package/dist/adapters/fivem/transport/fivem.events.js +0 -36
  387. package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
  388. package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
  389. package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
  390. package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
  391. package/dist/runtime/client/player/player.d.ts +0 -262
  392. package/dist/runtime/client/player/player.js +0 -474
  393. package/dist/runtime/client/player/player.loader.d.ts +0 -1
  394. package/dist/runtime/client/player/player.loader.js +0 -18
  395. package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
  396. package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
  397. /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
@@ -4,206 +4,111 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { IClientBlipBridge, } from '../../../adapters/contracts/client/ui/IClientBlipBridge';
8
15
  const DEFAULT_OPTIONS = {
9
- sprite: 1,
16
+ icon: 1,
10
17
  color: 1,
11
18
  scale: 1.0,
12
19
  shortRange: true,
13
- display: 4,
14
- category: 0,
15
- flash: false,
16
20
  alpha: 255,
17
21
  route: false,
22
+ visible: true,
18
23
  };
19
- /**
20
- * Service for creating and managing map blips.
21
- */
22
24
  let BlipService = class BlipService {
25
+ bridge;
23
26
  blips = new Map();
24
27
  idCounter = 0;
25
- /**
26
- * Create a blip at a world position.
27
- *
28
- * @param position - World position
29
- * @param options - Blip options
30
- * @returns The blip ID
31
- */
28
+ constructor(bridge) {
29
+ this.bridge = bridge;
30
+ }
32
31
  create(position, options = {}) {
33
32
  const id = `blip_${++this.idCounter}`;
34
- const opts = { ...DEFAULT_OPTIONS, ...options };
35
- const handle = AddBlipForCoord(position.x, position.y, position.z);
36
- this.applyOptions(handle, opts);
37
- this.blips.set(id, { id, handle, position, options: opts });
33
+ const definition = this.buildDefinition({ position }, options);
34
+ this.bridge.create(id, definition);
35
+ this.blips.set(id, { id, definition });
38
36
  return id;
39
37
  }
40
- /**
41
- * Create a blip attached to an entity.
42
- *
43
- * @param entity - Entity handle
44
- * @param options - Blip options
45
- * @returns The blip ID
46
- */
47
38
  createForEntity(entity, options = {}) {
48
39
  const id = `blip_${++this.idCounter}`;
49
- const opts = { ...DEFAULT_OPTIONS, ...options };
50
- const handle = AddBlipForEntity(entity);
51
- this.applyOptions(handle, opts);
52
- const [x, y, z] = GetEntityCoords(entity, true);
53
- this.blips.set(id, { id, handle, position: { x, y, z }, options: opts });
40
+ const definition = this.buildDefinition({ entity }, options);
41
+ this.bridge.create(id, definition);
42
+ this.blips.set(id, { id, definition });
54
43
  return id;
55
44
  }
56
- /**
57
- * Create a blip for a radius/area.
58
- *
59
- * @param position - Center position
60
- * @param radius - Radius of the area
61
- * @param options - Blip options
62
- * @returns The blip ID
63
- */
64
45
  createForRadius(position, radius, options = {}) {
65
46
  const id = `blip_${++this.idCounter}`;
66
- const opts = { ...DEFAULT_OPTIONS, ...options };
67
- const handle = AddBlipForRadius(position.x, position.y, position.z, radius);
68
- this.applyOptions(handle, opts);
69
- this.blips.set(id, { id, handle, position, options: opts });
47
+ const definition = this.buildDefinition({ position, radius }, options);
48
+ this.bridge.create(id, definition);
49
+ this.blips.set(id, { id, definition });
70
50
  return id;
71
51
  }
72
- /**
73
- * Remove a blip by ID.
74
- *
75
- * @param id - The blip ID
76
- */
77
52
  remove(id) {
78
- const blip = this.blips.get(id);
79
- if (!blip)
80
- return false;
81
- if (DoesBlipExist(blip.handle)) {
82
- RemoveBlip(blip.handle);
83
- }
84
- this.blips.delete(id);
85
- return true;
53
+ const removed = this.bridge.remove(id);
54
+ if (removed)
55
+ this.blips.delete(id);
56
+ return removed;
86
57
  }
87
- /**
88
- * Remove all managed blips.
89
- */
90
58
  removeAll() {
91
- for (const blip of this.blips.values()) {
92
- if (DoesBlipExist(blip.handle)) {
93
- RemoveBlip(blip.handle);
94
- }
95
- }
59
+ this.bridge.clear();
96
60
  this.blips.clear();
97
61
  }
98
- /**
99
- * Update blip options.
100
- *
101
- * @param id - The blip ID
102
- * @param options - New options to apply
103
- */
104
62
  update(id, options) {
105
63
  const blip = this.blips.get(id);
106
- if (!blip || !DoesBlipExist(blip.handle))
64
+ if (!blip)
65
+ return false;
66
+ const patch = this.normalizeOptions(options);
67
+ const updated = this.bridge.update(id, patch);
68
+ if (!updated)
107
69
  return false;
108
- blip.options = { ...blip.options, ...options };
109
- this.applyOptions(blip.handle, blip.options);
110
- return true;
70
+ blip.definition = { ...blip.definition, ...patch };
71
+ return updated;
111
72
  }
112
- /**
113
- * Set blip position.
114
- *
115
- * @param id - The blip ID
116
- * @param position - New position
117
- */
118
73
  setPosition(id, position) {
119
74
  const blip = this.blips.get(id);
120
- if (!blip || !DoesBlipExist(blip.handle))
75
+ if (!blip)
76
+ return false;
77
+ const updated = this.bridge.update(id, { position, entity: undefined, radius: undefined });
78
+ if (!updated)
121
79
  return false;
122
- SetBlipCoords(blip.handle, position.x, position.y, position.z);
123
- blip.position = position;
124
- return true;
80
+ blip.definition = { ...blip.definition, position, entity: undefined, radius: undefined };
81
+ return updated;
125
82
  }
126
- /**
127
- * Set whether a route should be drawn to the blip.
128
- *
129
- * @param id - The blip ID
130
- * @param enabled - Whether to show the route
131
- * @param color - Optional route color
132
- */
133
83
  setRoute(id, enabled, color) {
134
- const blip = this.blips.get(id);
135
- if (!blip || !DoesBlipExist(blip.handle))
136
- return false;
137
- SetBlipRoute(blip.handle, enabled);
138
- if (color !== undefined) {
139
- SetBlipRouteColour(blip.handle, color);
140
- }
141
- return true;
84
+ return this.update(id, { route: enabled, routeColor: color });
142
85
  }
143
- /**
144
- * Get blip by ID.
145
- */
146
86
  get(id) {
147
87
  return this.blips.get(id);
148
88
  }
149
- /**
150
- * Get all managed blips.
151
- */
152
89
  getAll() {
153
90
  return Array.from(this.blips.values());
154
91
  }
155
- /**
156
- * Get the native blip handle by ID.
157
- */
158
- getHandle(id) {
159
- return this.blips.get(id)?.handle;
160
- }
161
- /**
162
- * Check if a blip still exists in the game world.
163
- */
164
92
  exists(id) {
165
- const blip = this.blips.get(id);
166
- return blip ? DoesBlipExist(blip.handle) : false;
93
+ return this.bridge.exists(id);
94
+ }
95
+ buildDefinition(base, options) {
96
+ return {
97
+ ...base,
98
+ ...this.normalizeOptions({ ...DEFAULT_OPTIONS, ...options }),
99
+ };
167
100
  }
168
- applyOptions(handle, options) {
169
- if (options.sprite !== undefined) {
170
- SetBlipSprite(handle, options.sprite);
171
- }
172
- if (options.color !== undefined) {
173
- SetBlipColour(handle, options.color);
174
- }
175
- if (options.scale !== undefined) {
176
- SetBlipScale(handle, options.scale);
177
- }
178
- if (options.shortRange !== undefined) {
179
- SetBlipAsShortRange(handle, options.shortRange);
180
- }
181
- if (options.label) {
182
- BeginTextCommandSetBlipName('STRING');
183
- AddTextComponentString(options.label);
184
- EndTextCommandSetBlipName(handle);
185
- }
186
- if (options.display !== undefined) {
187
- SetBlipDisplay(handle, options.display);
188
- }
189
- if (options.category !== undefined) {
190
- SetBlipCategory(handle, options.category);
191
- }
192
- if (options.flash !== undefined) {
193
- SetBlipFlashes(handle, options.flash);
194
- }
195
- if (options.alpha !== undefined) {
196
- SetBlipAlpha(handle, options.alpha);
197
- }
198
- if (options.route !== undefined) {
199
- SetBlipRoute(handle, options.route);
200
- if (options.routeColor !== undefined) {
201
- SetBlipRouteColour(handle, options.routeColor);
202
- }
203
- }
101
+ normalizeOptions(options) {
102
+ const { sprite, icon, ...rest } = options;
103
+ return {
104
+ ...rest,
105
+ icon: icon ?? sprite,
106
+ };
204
107
  }
205
108
  };
206
109
  BlipService = __decorate([
207
- injectable()
110
+ injectable(),
111
+ __param(0, inject(IClientBlipBridge)),
112
+ __metadata("design:paramtypes", [IClientBlipBridge])
208
113
  ], BlipService);
209
114
  export { BlipService };
@@ -1,3 +1,4 @@
1
+ import { IClientPlatformBridge } from '../adapter/platform-bridge';
1
2
  import { Camera } from './camera';
2
3
  /**
3
4
  * Reason reported when an effect instance is finalized.
@@ -61,8 +62,10 @@ export interface CameraEffectPreset {
61
62
  * Registry for built-in and custom cinematic camera effects.
62
63
  */
63
64
  export declare class CameraEffectsRegistry {
65
+ private readonly platform;
64
66
  private effects;
65
67
  private presets;
68
+ constructor(platform: IClientPlatformBridge);
66
69
  /**
67
70
  * Registers a single effect definition.
68
71
  */
@@ -4,13 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { IClientPlatformBridge } from '../adapter/platform-bridge';
8
15
  /**
9
16
  * Registry for built-in and custom cinematic camera effects.
10
17
  */
11
18
  let CameraEffectsRegistry = class CameraEffectsRegistry {
19
+ platform;
12
20
  effects = new Map();
13
21
  presets = new Map();
22
+ constructor(platform) {
23
+ this.platform = platform;
24
+ }
14
25
  /**
15
26
  * Registers a single effect definition.
16
27
  */
@@ -59,7 +70,7 @@ let CameraEffectsRegistry = class CameraEffectsRegistry {
59
70
  defaults: { ms: 500 },
60
71
  setup: (_ctx, params) => {
61
72
  const ms = Number(params.ms ?? 500);
62
- DoScreenFadeIn(ms);
73
+ this.platform.doScreenFadeIn(ms);
63
74
  },
64
75
  });
65
76
  this.register({
@@ -67,7 +78,7 @@ let CameraEffectsRegistry = class CameraEffectsRegistry {
67
78
  defaults: { ms: 500 },
68
79
  setup: (_ctx, params) => {
69
80
  const ms = Number(params.ms ?? 500);
70
- DoScreenFadeOut(ms);
81
+ this.platform.doScreenFadeOut(ms);
71
82
  },
72
83
  });
73
84
  this.register({
@@ -90,11 +101,11 @@ let CameraEffectsRegistry = class CameraEffectsRegistry {
90
101
  const p = params;
91
102
  const name = String(p.name ?? 'default');
92
103
  const strength = Number(p.strength ?? 1);
93
- SetTimecycleModifier(name);
94
- SetTimecycleModifierStrength(strength);
104
+ this.platform.setTimecycleModifier(name);
105
+ this.platform.setTimecycleModifierStrength(strength);
95
106
  },
96
107
  teardown: () => {
97
- ClearTimecycleModifier();
108
+ this.platform.clearTimecycleModifier();
98
109
  },
99
110
  });
100
111
  this.register({
@@ -140,6 +151,8 @@ let CameraEffectsRegistry = class CameraEffectsRegistry {
140
151
  }
141
152
  };
142
153
  CameraEffectsRegistry = __decorate([
143
- injectable()
154
+ injectable(),
155
+ __param(0, inject(IClientPlatformBridge)),
156
+ __metadata("design:paramtypes", [IClientPlatformBridge])
144
157
  ], CameraEffectsRegistry);
145
158
  export { CameraEffectsRegistry };
@@ -1,129 +1,27 @@
1
1
  import { Vector3 } from '../../../kernel/utils/vector3';
2
- /**
3
- * Camera rotation represented in degrees.
4
- */
5
- export interface CameraRotation {
6
- x: number;
7
- y: number;
8
- z: number;
9
- }
10
- /**
11
- * Full camera transform in world space.
12
- */
13
- export interface CameraTransform {
14
- position: Vector3;
15
- rotation?: CameraRotation;
16
- fov?: number;
17
- }
18
- /**
19
- * Configuration used when creating and activating a scripted camera.
20
- */
21
- export interface CameraCreateOptions {
22
- /** Native camera name, defaults to DEFAULT_SCRIPTED_CAMERA. */
23
- camName?: string;
24
- /** Whether the created camera should become active immediately. */
25
- active?: boolean;
26
- /** Optional initial transform. */
27
- transform?: CameraTransform;
28
- }
29
- /**
30
- * Render options used when enabling/disabling scripted camera rendering.
31
- */
32
- export interface CameraRenderOptions {
33
- /** Smooth transition in or out. */
34
- ease?: boolean;
35
- /** Transition duration in milliseconds. */
36
- easeTimeMs?: number;
37
- }
38
- /**
39
- * Shake configuration for scripted camera effects.
40
- */
41
- export interface CameraShakeOptions {
42
- /** Native shake type name, e.g. HAND_SHAKE. */
43
- type: string;
44
- /** Shake amplitude. */
45
- amplitude: number;
46
- }
47
- /**
48
- * Injectable camera API that wraps FiveM scripted camera natives.
49
- *
50
- * @remarks
51
- * This class intentionally exposes low-level camera primitives so higher-level
52
- * systems can build cinematic workflows on top of it.
53
- */
2
+ import { type ClientCameraCreateOptions as CameraCreateOptions, type ClientCameraRenderOptions as CameraRenderOptions, type ClientCameraRotation as CameraRotation, type ClientCameraShakeOptions as CameraShakeOptions, type ClientCameraTransform as CameraTransform, IClientCameraPort } from '../../../adapters/contracts/client/camera/IClientCameraPort';
3
+ export type { CameraCreateOptions, CameraRenderOptions, CameraRotation, CameraShakeOptions, CameraTransform, };
54
4
  export declare class Camera {
5
+ private readonly cameras;
55
6
  private activeCam;
56
7
  private rendering;
57
- /**
58
- * Creates a scripted camera and optionally initializes its transform.
59
- */
8
+ constructor(cameras: IClientCameraPort);
60
9
  create(options?: CameraCreateOptions): number;
61
- /**
62
- * Returns the currently tracked active camera handle.
63
- */
64
10
  getActiveCam(): number | null;
65
- /**
66
- * Sets camera active state and tracks active handle.
67
- */
68
11
  setActive(cam: number, active: boolean): void;
69
- /**
70
- * Enables or disables scripted camera rendering.
71
- */
72
12
  render(enable: boolean, options?: CameraRenderOptions): void;
73
- /**
74
- * Returns whether scripted camera rendering is currently enabled.
75
- */
76
13
  isRendering(): boolean;
77
- /**
78
- * Destroys a single camera.
79
- */
80
14
  destroy(cam: number, destroyActiveCam?: boolean): void;
81
- /**
82
- * Destroys all scripted cameras managed by the game runtime.
83
- */
84
15
  destroyAll(destroyActiveCam?: boolean): void;
85
- /**
86
- * Sets camera world position.
87
- */
88
16
  setPosition(cam: number, position: Vector3): void;
89
- /**
90
- * Sets camera world rotation.
91
- */
92
17
  setRotation(cam: number, rotation: CameraRotation, rotationOrder?: number): void;
93
- /**
94
- * Sets camera field of view.
95
- */
96
18
  setFov(cam: number, fov: number): void;
97
- /**
98
- * Applies a full transform to a camera in a single call path.
99
- */
100
19
  setTransform(cam: number, transform: CameraTransform): void;
101
- /**
102
- * Points a camera at world coordinates.
103
- */
104
20
  pointAtCoords(cam: number, position: Vector3): void;
105
- /**
106
- * Points a camera at an entity with an optional offset.
107
- */
108
21
  pointAtEntity(cam: number, entity: number, offset?: Vector3): void;
109
- /**
110
- * Removes point-at target from the camera.
111
- */
112
22
  stopPointing(cam: number): void;
113
- /**
114
- * Interpolates from one camera to another using native interpolation.
115
- */
116
23
  interpolate(fromCam: number, toCam: number, durationMs: number, easeLocation?: boolean, easeRotation?: boolean): void;
117
- /**
118
- * Starts a camera shake effect.
119
- */
120
24
  shake(cam: number, options: CameraShakeOptions): void;
121
- /**
122
- * Stops camera shake for a camera.
123
- */
124
25
  stopShaking(cam: number, stopImmediately?: boolean): void;
125
- /**
126
- * Fully resets camera rendering and internal camera tracking.
127
- */
128
26
  reset(options?: CameraRenderOptions): void;
129
27
  }
@@ -4,155 +4,93 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { injectable } from 'tsyringe';
8
- /**
9
- * Injectable camera API that wraps FiveM scripted camera natives.
10
- *
11
- * @remarks
12
- * This class intentionally exposes low-level camera primitives so higher-level
13
- * systems can build cinematic workflows on top of it.
14
- */
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { IClientCameraPort, } from '../../../adapters/contracts/client/camera/IClientCameraPort';
15
15
  let Camera = class Camera {
16
+ cameras;
16
17
  activeCam = null;
17
18
  rendering = false;
18
- /**
19
- * Creates a scripted camera and optionally initializes its transform.
20
- */
19
+ constructor(cameras) {
20
+ this.cameras = cameras;
21
+ }
21
22
  create(options = {}) {
22
- const cam = CreateCam(options.camName ?? 'DEFAULT_SCRIPTED_CAMERA', options.active ?? false);
23
- if (options.transform) {
24
- this.setTransform(cam, options.transform);
25
- }
26
- if (options.active) {
23
+ const cam = this.cameras.create(options);
24
+ if (options.active)
27
25
  this.activeCam = cam;
28
- }
29
26
  return cam;
30
27
  }
31
- /**
32
- * Returns the currently tracked active camera handle.
33
- */
34
28
  getActiveCam() {
35
29
  return this.activeCam;
36
30
  }
37
- /**
38
- * Sets camera active state and tracks active handle.
39
- */
40
31
  setActive(cam, active) {
41
- SetCamActive(cam, active);
42
- if (active) {
32
+ this.cameras.setActive(cam, active);
33
+ if (active)
43
34
  this.activeCam = cam;
44
- }
45
- else if (this.activeCam === cam) {
35
+ else if (this.activeCam === cam)
46
36
  this.activeCam = null;
47
- }
48
37
  }
49
- /**
50
- * Enables or disables scripted camera rendering.
51
- */
52
38
  render(enable, options = {}) {
53
- RenderScriptCams(enable, options.ease ?? false, options.easeTimeMs ?? 0, true, true);
39
+ this.cameras.render(enable, options);
54
40
  this.rendering = enable;
55
41
  }
56
- /**
57
- * Returns whether scripted camera rendering is currently enabled.
58
- */
59
42
  isRendering() {
60
43
  return this.rendering;
61
44
  }
62
- /**
63
- * Destroys a single camera.
64
- */
65
45
  destroy(cam, destroyActiveCam = false) {
66
- DestroyCam(cam, destroyActiveCam);
67
- if (this.activeCam === cam) {
46
+ this.cameras.destroy(cam, destroyActiveCam);
47
+ if (this.activeCam === cam)
68
48
  this.activeCam = null;
69
- }
70
49
  }
71
- /**
72
- * Destroys all scripted cameras managed by the game runtime.
73
- */
74
50
  destroyAll(destroyActiveCam = false) {
75
- DestroyAllCams(destroyActiveCam);
51
+ this.cameras.destroyAll(destroyActiveCam);
76
52
  this.activeCam = null;
77
53
  }
78
- /**
79
- * Sets camera world position.
80
- */
81
54
  setPosition(cam, position) {
82
- SetCamCoord(cam, position.x, position.y, position.z);
55
+ this.cameras.setPosition(cam, position);
83
56
  }
84
- /**
85
- * Sets camera world rotation.
86
- */
87
57
  setRotation(cam, rotation, rotationOrder = 2) {
88
- SetCamRot(cam, rotation.x, rotation.y, rotation.z, rotationOrder);
58
+ this.cameras.setRotation(cam, rotation, rotationOrder);
89
59
  }
90
- /**
91
- * Sets camera field of view.
92
- */
93
60
  setFov(cam, fov) {
94
- SetCamFov(cam, fov);
61
+ this.cameras.setFov(cam, fov);
95
62
  }
96
- /**
97
- * Applies a full transform to a camera in a single call path.
98
- */
99
63
  setTransform(cam, transform) {
100
- this.setPosition(cam, transform.position);
101
- if (transform.rotation) {
102
- this.setRotation(cam, transform.rotation);
103
- }
104
- if (typeof transform.fov === 'number') {
105
- this.setFov(cam, transform.fov);
106
- }
107
- }
108
- /**
109
- * Points a camera at world coordinates.
110
- */
64
+ this.cameras.setTransform(cam, transform);
65
+ }
111
66
  pointAtCoords(cam, position) {
112
- PointCamAtCoord(cam, position.x, position.y, position.z);
67
+ this.cameras.pointAtCoords(cam, position);
113
68
  }
114
- /**
115
- * Points a camera at an entity with an optional offset.
116
- */
117
69
  pointAtEntity(cam, entity, offset = { x: 0, y: 0, z: 0 }) {
118
- PointCamAtEntity(cam, entity, offset.x, offset.y, offset.z, true);
70
+ this.cameras.pointAtEntity(cam, entity, offset);
119
71
  }
120
- /**
121
- * Removes point-at target from the camera.
122
- */
123
72
  stopPointing(cam) {
124
- StopCamPointing(cam);
73
+ this.cameras.stopPointing(cam);
125
74
  }
126
- /**
127
- * Interpolates from one camera to another using native interpolation.
128
- */
129
75
  interpolate(fromCam, toCam, durationMs, easeLocation = true, easeRotation = true) {
130
- SetCamActiveWithInterp(toCam, fromCam, durationMs, easeLocation ? 1 : 0, easeRotation ? 1 : 0);
76
+ this.cameras.interpolate(fromCam, toCam, durationMs, easeLocation, easeRotation);
131
77
  this.activeCam = toCam;
132
78
  }
133
- /**
134
- * Starts a camera shake effect.
135
- */
136
79
  shake(cam, options) {
137
- ShakeCam(cam, options.type, options.amplitude);
80
+ this.cameras.shake(cam, options);
138
81
  }
139
- /**
140
- * Stops camera shake for a camera.
141
- */
142
82
  stopShaking(cam, stopImmediately = true) {
143
- StopCamShaking(cam, stopImmediately);
83
+ this.cameras.stopShaking(cam, stopImmediately);
144
84
  }
145
- /**
146
- * Fully resets camera rendering and internal camera tracking.
147
- */
148
85
  reset(options = {}) {
149
- if (this.rendering) {
86
+ if (this.rendering)
150
87
  this.render(false, options);
151
- }
152
88
  this.destroyAll(false);
153
89
  }
154
90
  };
155
91
  Camera = __decorate([
156
- injectable()
92
+ injectable(),
93
+ __param(0, inject(IClientCameraPort)),
94
+ __metadata("design:paramtypes", [IClientCameraPort])
157
95
  ], Camera);
158
96
  export { Camera };