@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
@@ -1,168 +1,25 @@
1
1
  import { Vector3 } from '../../../kernel/utils/vector3';
2
- export interface VehicleSpawnOptions {
3
- /** Model name or hash */
4
- model: string;
5
- /** Spawn position */
6
- position: Vector3;
7
- /** Heading/rotation */
8
- heading?: number;
9
- /** Whether to place on ground */
10
- placeOnGround?: boolean;
11
- /** Whether to warp the player into the vehicle */
12
- warpIntoVehicle?: boolean;
13
- /** Seat index to warp into (-1 = driver) */
14
- seatIndex?: number;
15
- /** Primary color */
16
- primaryColor?: number;
17
- /** Secondary color */
18
- secondaryColor?: number;
19
- /** License plate text */
20
- plate?: string;
21
- /** Network the vehicle */
22
- networked?: boolean;
23
- }
24
- export interface VehicleMods {
25
- spoiler?: number;
26
- frontBumper?: number;
27
- rearBumper?: number;
28
- sideSkirt?: number;
29
- exhaust?: number;
30
- frame?: number;
31
- grille?: number;
32
- hood?: number;
33
- fender?: number;
34
- rightFender?: number;
35
- roof?: number;
36
- engine?: number;
37
- brakes?: number;
38
- transmission?: number;
39
- horns?: number;
40
- suspension?: number;
41
- armor?: number;
42
- turbo?: boolean;
43
- xenon?: boolean;
44
- wheelType?: number;
45
- wheels?: number;
46
- windowTint?: number;
47
- livery?: number;
48
- plateStyle?: number;
49
- }
50
- /**
51
- * Service for vehicle operations and management.
52
- */
2
+ import { type ClientVehicleMods as VehicleMods, type ClientVehicleSpawnOptions as VehicleSpawnOptions, IClientVehiclePort } from '../../../adapters/contracts/client/vehicle/IClientVehiclePort';
3
+ export type { VehicleSpawnOptions, VehicleMods };
53
4
  export declare class VehicleService {
54
- /**
55
- * Spawn a vehicle at a position.
56
- *
57
- * @param options - Spawn options
58
- * @returns The vehicle handle
59
- */
5
+ private readonly vehicles;
6
+ constructor(vehicles: IClientVehiclePort);
60
7
  spawn(options: VehicleSpawnOptions): Promise<number>;
61
- /**
62
- * Delete a vehicle.
63
- *
64
- * @param vehicle - Vehicle handle
65
- */
66
8
  delete(vehicle: number): void;
67
- /**
68
- * Delete the vehicle the player is currently in.
69
- */
70
9
  deleteCurrentVehicle(): void;
71
- /**
72
- * Repair a vehicle completely.
73
- *
74
- * @param vehicle - Vehicle handle
75
- */
76
10
  repair(vehicle: number): void;
77
- /**
78
- * Set vehicle fuel level.
79
- *
80
- * @param vehicle - Vehicle handle
81
- * @param level - Fuel level (0.0-100.0)
82
- */
83
11
  setFuel(vehicle: number, level: number): void;
84
- /**
85
- * Get vehicle fuel level.
86
- *
87
- * @param vehicle - Vehicle handle
88
- * @returns Fuel level (0.0-1.0)
89
- */
90
12
  getFuel(vehicle: number): number;
91
- /**
92
- * Get the closest vehicle to the player.
93
- *
94
- * @param radius - Search radius
95
- * @returns Vehicle handle or null
96
- */
97
13
  getClosest(radius?: number): number | null;
98
- /**
99
- * Check if the player is in a vehicle.
100
- */
101
14
  isPlayerInVehicle(): boolean;
102
- /**
103
- * Get the vehicle the player is currently in.
104
- *
105
- * @returns Vehicle handle or null
106
- */
107
15
  getCurrentVehicle(): number | null;
108
- /**
109
- * Get the last vehicle the player was in.
110
- *
111
- * @returns Vehicle handle or null
112
- */
113
16
  getLastVehicle(): number | null;
114
- /**
115
- * Check if player is the driver of their current vehicle.
116
- */
117
17
  isPlayerDriver(): boolean;
118
- /**
119
- * Apply modifications to a vehicle.
120
- *
121
- * @param vehicle - Vehicle handle
122
- * @param mods - Modifications to apply
123
- */
124
18
  setMods(vehicle: number, mods: VehicleMods): void;
125
- /**
126
- * Set vehicle doors locked state.
127
- *
128
- * @param vehicle - Vehicle handle
129
- * @param locked - Whether doors should be locked
130
- */
131
19
  setDoorsLocked(vehicle: number, locked: boolean): void;
132
- /**
133
- * Set vehicle engine state.
134
- *
135
- * @param vehicle - Vehicle handle
136
- * @param running - Whether engine should be running
137
- * @param instant - Whether to start instantly
138
- */
139
20
  setEngineRunning(vehicle: number, running: boolean, instant?: boolean): void;
140
- /**
141
- * Set vehicle invincibility.
142
- *
143
- * @param vehicle - Vehicle handle
144
- * @param invincible - Whether vehicle should be invincible
145
- */
146
21
  setInvincible(vehicle: number, invincible: boolean): void;
147
- /**
148
- * Get vehicle speed in km/h.
149
- *
150
- * @param vehicle - Vehicle handle
151
- */
152
22
  getSpeed(vehicle: number): number;
153
- /**
154
- * Set vehicle heading/rotation.
155
- *
156
- * @param vehicle - Vehicle handle
157
- * @param heading - Heading in degrees
158
- */
159
23
  setHeading(vehicle: number, heading: number): void;
160
- /**
161
- * Teleport a vehicle to a position.
162
- *
163
- * @param vehicle - Vehicle handle
164
- * @param position - Target position
165
- * @param heading - Optional heading
166
- */
167
24
  teleport(vehicle: number, position: Vector3, heading?: number): void;
168
25
  }
@@ -4,290 +4,84 @@ 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
- * Service for vehicle operations and management.
10
- */
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 { IClientVehiclePort, } from '../../../adapters/contracts/client/vehicle/IClientVehiclePort';
11
15
  let VehicleService = class VehicleService {
12
- /**
13
- * Spawn a vehicle at a position.
14
- *
15
- * @param options - Spawn options
16
- * @returns The vehicle handle
17
- */
16
+ vehicles;
17
+ constructor(vehicles) {
18
+ this.vehicles = vehicles;
19
+ }
18
20
  async spawn(options) {
19
- const { model, position, heading = 0, placeOnGround = true, warpIntoVehicle = false, seatIndex = -1, primaryColor, secondaryColor, plate, networked = true, } = options;
20
- const modelHash = GetHashKey(model);
21
- // Load the model
22
- if (!IsModelInCdimage(modelHash) || !IsModelAVehicle(modelHash)) {
23
- throw new Error(`Invalid vehicle model: ${model}`);
24
- }
25
- RequestModel(modelHash);
26
- while (!HasModelLoaded(modelHash)) {
27
- await new Promise((r) => setTimeout(r, 0));
28
- }
29
- // Create the vehicle
30
- const vehicle = CreateVehicle(modelHash, position.x, position.y, position.z, heading, networked, false);
31
- SetModelAsNoLongerNeeded(modelHash);
32
- if (!vehicle || vehicle === 0) {
33
- throw new Error('Failed to create vehicle');
34
- }
35
- // Place on ground
36
- if (placeOnGround) {
37
- SetVehicleOnGroundProperly(vehicle);
38
- }
39
- // Set colors
40
- if (primaryColor !== undefined || secondaryColor !== undefined) {
41
- const [currentPrimary, currentSecondary] = GetVehicleColours(vehicle);
42
- SetVehicleColours(vehicle, primaryColor ?? currentPrimary, secondaryColor ?? currentSecondary);
43
- }
44
- // Set plate
45
- if (plate) {
46
- SetVehicleNumberPlateText(vehicle, plate);
47
- }
48
- // Warp player into vehicle
49
- if (warpIntoVehicle) {
50
- TaskWarpPedIntoVehicle(PlayerPedId(), vehicle, seatIndex);
51
- }
52
- return vehicle;
21
+ return this.vehicles.spawn(options);
53
22
  }
54
- /**
55
- * Delete a vehicle.
56
- *
57
- * @param vehicle - Vehicle handle
58
- */
59
23
  delete(vehicle) {
60
- if (DoesEntityExist(vehicle)) {
61
- SetEntityAsMissionEntity(vehicle, true, true);
62
- DeleteVehicle(vehicle);
63
- }
24
+ this.vehicles.delete(vehicle);
64
25
  }
65
- /**
66
- * Delete the vehicle the player is currently in.
67
- */
68
26
  deleteCurrentVehicle() {
69
27
  const vehicle = this.getCurrentVehicle();
70
28
  if (vehicle) {
71
- TaskLeaveVehicle(PlayerPedId(), vehicle, 16);
29
+ this.vehicles.leaveLocalPlayerVehicle(vehicle, 16);
72
30
  setTimeout(() => this.delete(vehicle), 1000);
73
31
  }
74
32
  }
75
- /**
76
- * Repair a vehicle completely.
77
- *
78
- * @param vehicle - Vehicle handle
79
- */
80
33
  repair(vehicle) {
81
- if (!DoesEntityExist(vehicle))
82
- return;
83
- SetVehicleFixed(vehicle);
84
- SetVehicleDeformationFixed(vehicle);
85
- SetVehicleUndriveable(vehicle, false);
86
- SetVehicleEngineOn(vehicle, true, true, false);
87
- SetVehicleEngineHealth(vehicle, 1000.0);
88
- SetVehiclePetrolTankHealth(vehicle, 1000.0);
34
+ this.vehicles.repair(vehicle);
89
35
  }
90
- /**
91
- * Set vehicle fuel level.
92
- *
93
- * @param vehicle - Vehicle handle
94
- * @param level - Fuel level (0.0-100.0)
95
- */
96
36
  setFuel(vehicle, level) {
97
- if (!DoesEntityExist(vehicle))
98
- return;
99
- SetVehicleFuelLevel(vehicle, Math.max(0, Math.min(100, level * 100)));
37
+ this.vehicles.setFuel(vehicle, level);
100
38
  }
101
- /**
102
- * Get vehicle fuel level.
103
- *
104
- * @param vehicle - Vehicle handle
105
- * @returns Fuel level (0.0-1.0)
106
- */
107
39
  getFuel(vehicle) {
108
- if (!DoesEntityExist(vehicle))
109
- return 0;
110
- return GetVehicleFuelLevel(vehicle) / 100;
40
+ return this.vehicles.getFuel(vehicle);
111
41
  }
112
- /**
113
- * Get the closest vehicle to the player.
114
- *
115
- * @param radius - Search radius
116
- * @returns Vehicle handle or null
117
- */
118
42
  getClosest(radius = 10.0) {
119
- const playerPed = PlayerPedId();
120
- const [px, py, pz] = GetEntityCoords(playerPed, true);
121
- const vehicle = GetClosestVehicle(px, py, pz, radius, 0, 71);
122
- return vehicle !== 0 ? vehicle : null;
43
+ return this.vehicles.getClosest(radius);
123
44
  }
124
- /**
125
- * Check if the player is in a vehicle.
126
- */
127
45
  isPlayerInVehicle() {
128
- return IsPedInAnyVehicle(PlayerPedId(), false);
46
+ return this.vehicles.isLocalPlayerInVehicle();
129
47
  }
130
- /**
131
- * Get the vehicle the player is currently in.
132
- *
133
- * @returns Vehicle handle or null
134
- */
135
48
  getCurrentVehicle() {
136
- const ped = PlayerPedId();
137
- if (!IsPedInAnyVehicle(ped, false))
138
- return null;
139
- return GetVehiclePedIsIn(ped, false);
49
+ return this.vehicles.getCurrentForLocalPlayer();
140
50
  }
141
- /**
142
- * Get the last vehicle the player was in.
143
- *
144
- * @returns Vehicle handle or null
145
- */
146
51
  getLastVehicle() {
147
- const vehicle = GetVehiclePedIsIn(PlayerPedId(), true);
148
- return vehicle !== 0 ? vehicle : null;
52
+ return this.vehicles.getLastForLocalPlayer();
149
53
  }
150
- /**
151
- * Check if player is the driver of their current vehicle.
152
- */
153
54
  isPlayerDriver() {
154
55
  const vehicle = this.getCurrentVehicle();
155
56
  if (!vehicle)
156
57
  return false;
157
- return GetPedInVehicleSeat(vehicle, -1) === PlayerPedId();
58
+ return this.vehicles.isLocalPlayerDriver(vehicle);
158
59
  }
159
- /**
160
- * Apply modifications to a vehicle.
161
- *
162
- * @param vehicle - Vehicle handle
163
- * @param mods - Modifications to apply
164
- */
165
60
  setMods(vehicle, mods) {
166
- if (!DoesEntityExist(vehicle))
167
- return;
168
- SetVehicleModKit(vehicle, 0);
169
- if (mods.spoiler !== undefined)
170
- SetVehicleMod(vehicle, 0, mods.spoiler, false);
171
- if (mods.frontBumper !== undefined)
172
- SetVehicleMod(vehicle, 1, mods.frontBumper, false);
173
- if (mods.rearBumper !== undefined)
174
- SetVehicleMod(vehicle, 2, mods.rearBumper, false);
175
- if (mods.sideSkirt !== undefined)
176
- SetVehicleMod(vehicle, 3, mods.sideSkirt, false);
177
- if (mods.exhaust !== undefined)
178
- SetVehicleMod(vehicle, 4, mods.exhaust, false);
179
- if (mods.frame !== undefined)
180
- SetVehicleMod(vehicle, 5, mods.frame, false);
181
- if (mods.grille !== undefined)
182
- SetVehicleMod(vehicle, 6, mods.grille, false);
183
- if (mods.hood !== undefined)
184
- SetVehicleMod(vehicle, 7, mods.hood, false);
185
- if (mods.fender !== undefined)
186
- SetVehicleMod(vehicle, 8, mods.fender, false);
187
- if (mods.rightFender !== undefined)
188
- SetVehicleMod(vehicle, 9, mods.rightFender, false);
189
- if (mods.roof !== undefined)
190
- SetVehicleMod(vehicle, 10, mods.roof, false);
191
- if (mods.engine !== undefined)
192
- SetVehicleMod(vehicle, 11, mods.engine, false);
193
- if (mods.brakes !== undefined)
194
- SetVehicleMod(vehicle, 12, mods.brakes, false);
195
- if (mods.transmission !== undefined)
196
- SetVehicleMod(vehicle, 13, mods.transmission, false);
197
- if (mods.horns !== undefined)
198
- SetVehicleMod(vehicle, 14, mods.horns, false);
199
- if (mods.suspension !== undefined)
200
- SetVehicleMod(vehicle, 15, mods.suspension, false);
201
- if (mods.armor !== undefined)
202
- SetVehicleMod(vehicle, 16, mods.armor, false);
203
- if (mods.turbo !== undefined)
204
- ToggleVehicleMod(vehicle, 18, mods.turbo);
205
- if (mods.xenon !== undefined)
206
- ToggleVehicleMod(vehicle, 22, mods.xenon);
207
- if (mods.wheelType !== undefined)
208
- SetVehicleWheelType(vehicle, mods.wheelType);
209
- if (mods.wheels !== undefined)
210
- SetVehicleMod(vehicle, 23, mods.wheels, false);
211
- if (mods.windowTint !== undefined)
212
- SetVehicleWindowTint(vehicle, mods.windowTint);
213
- if (mods.livery !== undefined)
214
- SetVehicleLivery(vehicle, mods.livery);
215
- if (mods.plateStyle !== undefined)
216
- SetVehicleNumberPlateTextIndex(vehicle, mods.plateStyle);
61
+ this.vehicles.applyMods(vehicle, mods);
217
62
  }
218
- /**
219
- * Set vehicle doors locked state.
220
- *
221
- * @param vehicle - Vehicle handle
222
- * @param locked - Whether doors should be locked
223
- */
224
63
  setDoorsLocked(vehicle, locked) {
225
- if (!DoesEntityExist(vehicle))
226
- return;
227
- SetVehicleDoorsLocked(vehicle, locked ? 2 : 0);
64
+ this.vehicles.setDoorsLocked(vehicle, locked);
228
65
  }
229
- /**
230
- * Set vehicle engine state.
231
- *
232
- * @param vehicle - Vehicle handle
233
- * @param running - Whether engine should be running
234
- * @param instant - Whether to start instantly
235
- */
236
66
  setEngineRunning(vehicle, running, instant = false) {
237
- if (!DoesEntityExist(vehicle))
238
- return;
239
- SetVehicleEngineOn(vehicle, running, instant, true);
67
+ this.vehicles.setEngineRunning(vehicle, running, instant);
240
68
  }
241
- /**
242
- * Set vehicle invincibility.
243
- *
244
- * @param vehicle - Vehicle handle
245
- * @param invincible - Whether vehicle should be invincible
246
- */
247
69
  setInvincible(vehicle, invincible) {
248
- if (!DoesEntityExist(vehicle))
249
- return;
250
- SetEntityInvincible(vehicle, invincible);
70
+ this.vehicles.setInvincible(vehicle, invincible);
251
71
  }
252
- /**
253
- * Get vehicle speed in km/h.
254
- *
255
- * @param vehicle - Vehicle handle
256
- */
257
72
  getSpeed(vehicle) {
258
- if (!DoesEntityExist(vehicle))
259
- return 0;
260
- return GetEntitySpeed(vehicle) * 3.6; // Convert m/s to km/h
73
+ return this.vehicles.getSpeed(vehicle) * 3.6;
261
74
  }
262
- /**
263
- * Set vehicle heading/rotation.
264
- *
265
- * @param vehicle - Vehicle handle
266
- * @param heading - Heading in degrees
267
- */
268
75
  setHeading(vehicle, heading) {
269
- if (!DoesEntityExist(vehicle))
270
- return;
271
- SetEntityHeading(vehicle, heading);
76
+ this.vehicles.setHeading(vehicle, heading);
272
77
  }
273
- /**
274
- * Teleport a vehicle to a position.
275
- *
276
- * @param vehicle - Vehicle handle
277
- * @param position - Target position
278
- * @param heading - Optional heading
279
- */
280
78
  teleport(vehicle, position, heading) {
281
- if (!DoesEntityExist(vehicle))
282
- return;
283
- SetEntityCoords(vehicle, position.x, position.y, position.z, false, false, false, true);
284
- if (heading !== undefined) {
285
- SetEntityHeading(vehicle, heading);
286
- }
287
- SetVehicleOnGroundProperly(vehicle);
79
+ this.vehicles.teleport(vehicle, position, heading);
288
80
  }
289
81
  };
290
82
  VehicleService = __decorate([
291
- injectable()
83
+ injectable(),
84
+ __param(0, inject(IClientVehiclePort)),
85
+ __metadata("design:paramtypes", [IClientVehiclePort])
292
86
  ], VehicleService);
293
87
  export { VehicleService };
@@ -1,6 +1,9 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  export declare class ClientExportProcessor implements DecoratorProcessor {
4
+ private readonly runtime;
3
5
  readonly metadataKey: string;
6
+ constructor(runtime: IClientRuntimeBridge);
4
7
  process(target: any, methodName: string, metadata: {
5
8
  exportName: string;
6
9
  }): void;
@@ -4,16 +4,27 @@ 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';
8
14
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
15
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  const clientExport = coreLogger.child('Export', LogDomain.CLIENT);
11
18
  let ClientExportProcessor = class ClientExportProcessor {
19
+ runtime;
12
20
  metadataKey = METADATA_KEYS.EXPORT;
21
+ constructor(runtime) {
22
+ this.runtime = runtime;
23
+ }
13
24
  process(target, methodName, metadata) {
14
25
  const handler = target[methodName].bind(target);
15
26
  const handlerName = `${target.constructor.name}.${methodName}`;
16
- globalThis.exports(metadata.exportName, async (...args) => {
27
+ this.runtime.registerExport(metadata.exportName, async (...args) => {
17
28
  try {
18
29
  return await handler(...args);
19
30
  }
@@ -29,6 +40,8 @@ let ClientExportProcessor = class ClientExportProcessor {
29
40
  }
30
41
  };
31
42
  ClientExportProcessor = __decorate([
32
- injectable()
43
+ injectable(),
44
+ __param(0, inject(IClientRuntimeBridge)),
45
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
33
46
  ], ClientExportProcessor);
34
47
  export { ClientExportProcessor };
@@ -1,10 +1,13 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  interface GameEventMetadata {
3
4
  eventName: string;
4
5
  autoParse: boolean;
5
6
  }
6
7
  export declare class GameEventProcessor implements DecoratorProcessor {
8
+ private readonly runtime;
7
9
  readonly metadataKey: string;
10
+ constructor(runtime: IClientRuntimeBridge);
8
11
  process(target: any, methodName: string, metadata: GameEventMetadata): void;
9
12
  }
10
13
  export {};
@@ -4,8 +4,15 @@ 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';
8
14
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
15
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
9
16
  import { GameEventParsers } from '../../types/game-events';
10
17
  import { METADATA_KEYS } from '../metadata-client.keys';
11
18
  const clientGameEvent = coreLogger.child('GameEvent', LogDomain.CLIENT);
@@ -19,12 +26,16 @@ const parserMap = {
19
26
  CEventGunShot: GameEventParsers.parseGunShot,
20
27
  };
21
28
  let GameEventProcessor = class GameEventProcessor {
29
+ runtime;
22
30
  metadataKey = METADATA_KEYS.GAME_EVENT;
31
+ constructor(runtime) {
32
+ this.runtime = runtime;
33
+ }
23
34
  process(target, methodName, metadata) {
24
35
  const handler = target[methodName].bind(target);
25
36
  const handlerName = `${target.constructor.name}.${methodName}`;
26
37
  const { eventName, autoParse } = metadata;
27
- on('gameEventTriggered', async (name, args) => {
38
+ this.runtime.on('gameEventTriggered', async (name, args) => {
28
39
  if (name !== eventName)
29
40
  return;
30
41
  try {
@@ -48,6 +59,8 @@ let GameEventProcessor = class GameEventProcessor {
48
59
  }
49
60
  };
50
61
  GameEventProcessor = __decorate([
51
- injectable()
62
+ injectable(),
63
+ __param(0, inject(IClientRuntimeBridge)),
64
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
52
65
  ], GameEventProcessor);
53
66
  export { GameEventProcessor };
@@ -1,6 +1,9 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  export declare class IntervalProcessor implements DecoratorProcessor {
4
+ private readonly runtime;
3
5
  readonly metadataKey: string;
6
+ constructor(runtime: IClientRuntimeBridge);
4
7
  process(target: any, methodName: string, metadata: {
5
8
  interval: number;
6
9
  }): void;
@@ -4,18 +4,29 @@ 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';
8
14
  import { coreLogger, LogDomain } from '../../../../kernel/logger';
15
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
9
16
  import { METADATA_KEYS } from '../metadata-client.keys';
10
17
  const clientInterval = coreLogger.child('Interval', LogDomain.CLIENT);
11
18
  let IntervalProcessor = class IntervalProcessor {
19
+ runtime;
12
20
  metadataKey = METADATA_KEYS.INTERVAL;
21
+ constructor(runtime) {
22
+ this.runtime = runtime;
23
+ }
13
24
  process(target, methodName, metadata) {
14
25
  const handler = target[methodName].bind(target);
15
26
  const handlerName = `${target.constructor.name}.${methodName}`;
16
27
  let lastRun = 0;
17
- setTick(async () => {
18
- const now = GetGameTimer();
28
+ this.runtime.setTick(async () => {
29
+ const now = this.runtime.getGameTimer();
19
30
  if (now - lastRun < metadata.interval)
20
31
  return;
21
32
  lastRun = now;
@@ -33,6 +44,8 @@ let IntervalProcessor = class IntervalProcessor {
33
44
  }
34
45
  };
35
46
  IntervalProcessor = __decorate([
36
- injectable()
47
+ injectable(),
48
+ __param(0, inject(IClientRuntimeBridge)),
49
+ __metadata("design:paramtypes", [IClientRuntimeBridge])
37
50
  ], IntervalProcessor);
38
51
  export { IntervalProcessor };
@@ -1,6 +1,9 @@
1
1
  import { DecoratorProcessor } from '../../../../kernel/di/decorator-processor';
2
+ import { IClientRuntimeBridge } from '../../adapter/runtime-bridge';
2
3
  export declare class KeyMappingProcessor implements DecoratorProcessor {
4
+ private readonly runtime;
3
5
  readonly metadataKey: string;
6
+ constructor(runtime: IClientRuntimeBridge);
4
7
  process(target: any, methodName: string, metadata: {
5
8
  key: string;
6
9
  description?: string;