rock-mod 0.16.0 → 0.18.0

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 (253) hide show
  1. package/dist/client/RockMod.d.ts +9 -1
  2. package/dist/client/RockMod.js +53 -32
  3. package/dist/client/console/common/IConsoleManager.d.ts +8 -0
  4. package/dist/client/console/common/IConsoleManager.js +1 -0
  5. package/dist/client/console/common/index.d.ts +1 -0
  6. package/dist/client/console/common/index.js +1 -0
  7. package/dist/client/console/index.d.ts +1 -0
  8. package/dist/client/console/index.js +1 -0
  9. package/dist/client/console/ragemp/RageConsoleManager.d.ts +9 -0
  10. package/dist/client/console/ragemp/RageConsoleManager.js +20 -0
  11. package/dist/client/entities/common/baseObject/IBaseObject.d.ts +4 -1
  12. package/dist/client/entities/common/baseObject/IBaseObjectsManager.d.ts +4 -1
  13. package/dist/client/entities/common/blip/IBlip.d.ts +3 -2
  14. package/dist/client/entities/common/camera/ICamera.d.ts +16 -0
  15. package/dist/client/entities/common/camera/ICamera.js +1 -0
  16. package/dist/client/entities/common/camera/ICameraManager.d.ts +14 -0
  17. package/dist/client/entities/common/camera/ICameraManager.js +1 -0
  18. package/dist/client/entities/common/camera/index.d.ts +2 -0
  19. package/dist/client/entities/common/camera/index.js +2 -0
  20. package/dist/client/entities/common/colshape/IColshapesManager.d.ts +1 -1
  21. package/dist/client/entities/common/entity/IEntitiesManager.d.ts +4 -1
  22. package/dist/client/entities/common/entity/IEntity.d.ts +16 -2
  23. package/dist/client/entities/common/index.d.ts +2 -0
  24. package/dist/client/entities/common/index.js +2 -0
  25. package/dist/client/entities/common/marker/IMarker.d.ts +6 -2
  26. package/dist/client/entities/common/marker/IMarkersManager.d.ts +2 -2
  27. package/dist/client/entities/common/object/IObject.d.ts +3 -2
  28. package/dist/client/entities/common/ped/IPed.d.ts +14 -0
  29. package/dist/client/entities/common/player/IPlayer.d.ts +34 -2
  30. package/dist/client/entities/common/player/IPlayersManager.d.ts +2 -0
  31. package/dist/client/entities/common/router/IEntityPoolRouter.d.ts +8 -0
  32. package/dist/client/entities/common/router/IEntityPoolRouter.js +1 -0
  33. package/dist/client/entities/common/router/index.d.ts +1 -0
  34. package/dist/client/entities/common/router/index.js +1 -0
  35. package/dist/client/entities/common/vehicle/IVehicle.d.ts +32 -0
  36. package/dist/client/entities/common/vehicle/IVehiclesManager.d.ts +1 -0
  37. package/dist/client/entities/common/worldObject/IWorldObject.d.ts +2 -1
  38. package/dist/client/entities/common/worldObject/IWorldObjectsIterator.d.ts +1 -1
  39. package/dist/client/entities/common/worldObject/IWorldObjectsManager.d.ts +1 -1
  40. package/dist/client/entities/ragemp/baseObject/RageBaseObject.d.ts +4 -1
  41. package/dist/client/entities/ragemp/baseObject/RageBaseObject.js +9 -0
  42. package/dist/client/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +3 -0
  43. package/dist/client/entities/ragemp/baseObject/RageBaseObjectsManager.js +22 -2
  44. package/dist/client/entities/ragemp/blip/RageBlip.d.ts +4 -1
  45. package/dist/client/entities/ragemp/blip/RageBlip.js +14 -5
  46. package/dist/client/entities/ragemp/camera/RageCamera.d.ts +19 -0
  47. package/dist/client/entities/ragemp/camera/RageCamera.js +43 -0
  48. package/dist/client/entities/ragemp/camera/RageCameraManager.d.ts +9 -0
  49. package/dist/client/entities/ragemp/camera/RageCameraManager.js +26 -0
  50. package/dist/client/entities/ragemp/entity/RageEntitiesManager.d.ts +3 -0
  51. package/dist/client/entities/ragemp/entity/RageEntitiesManager.js +5 -0
  52. package/dist/client/entities/ragemp/entity/RageEntity.d.ts +15 -1
  53. package/dist/client/entities/ragemp/entity/RageEntity.js +45 -0
  54. package/dist/client/entities/ragemp/marker/RageMarker.d.ts +6 -2
  55. package/dist/client/entities/ragemp/marker/RageMarker.js +16 -1
  56. package/dist/client/entities/ragemp/object/RageObject.d.ts +4 -3
  57. package/dist/client/entities/ragemp/object/RageObject.js +8 -5
  58. package/dist/client/entities/ragemp/object/RageObjectsManager.d.ts +2 -0
  59. package/dist/client/entities/ragemp/object/RageObjectsManager.js +18 -0
  60. package/dist/client/entities/ragemp/ped/RagePed.d.ts +14 -0
  61. package/dist/client/entities/ragemp/ped/RagePed.js +46 -0
  62. package/dist/client/entities/ragemp/ped/RagePedsManager.d.ts +2 -0
  63. package/dist/client/entities/ragemp/ped/RagePedsManager.js +18 -0
  64. package/dist/client/entities/ragemp/player/RagePlayer.d.ts +34 -2
  65. package/dist/client/entities/ragemp/player/RagePlayer.js +105 -3
  66. package/dist/client/entities/ragemp/player/RagePlayersManager.d.ts +6 -4
  67. package/dist/client/entities/ragemp/player/RagePlayersManager.js +27 -18
  68. package/dist/client/entities/ragemp/router/RageEntityPoolRouter.d.ts +12 -0
  69. package/dist/client/entities/ragemp/router/RageEntityPoolRouter.js +65 -0
  70. package/dist/client/entities/ragemp/vehicle/RageVehicle.d.ts +29 -1
  71. package/dist/client/entities/ragemp/vehicle/RageVehicle.js +84 -0
  72. package/dist/client/entities/ragemp/vehicle/RageVehiclesManager.d.ts +3 -0
  73. package/dist/client/entities/ragemp/vehicle/RageVehiclesManager.js +21 -0
  74. package/dist/client/entities/ragemp/worldObject/RageWorldObject.d.ts +1 -0
  75. package/dist/client/entities/ragemp/worldObject/RageWorldObject.js +3 -0
  76. package/dist/client/factories/common/IManagersFactory.d.ts +27 -2
  77. package/dist/client/factories/ragemp/RageManagersFactory.d.ts +56 -10
  78. package/dist/client/factories/ragemp/RageManagersFactory.js +103 -11
  79. package/dist/client/game/common/IGameManagers.d.ts +44 -0
  80. package/dist/client/game/common/IGameManagers.js +1 -0
  81. package/dist/client/game/common/browser/IBrowserManager.d.ts +5 -0
  82. package/dist/client/game/common/browser/IBrowserManager.js +1 -0
  83. package/dist/client/game/common/browser/index.d.ts +1 -0
  84. package/dist/client/game/common/browser/index.js +1 -0
  85. package/dist/client/game/common/camera/IGameCameraManager.d.ts +4 -0
  86. package/dist/client/game/common/camera/IGameCameraManager.js +1 -0
  87. package/dist/client/game/common/camera/index.d.ts +1 -0
  88. package/dist/client/game/common/camera/index.js +1 -0
  89. package/dist/client/game/common/chat/IChatManager.d.ts +4 -0
  90. package/dist/client/game/common/chat/IChatManager.js +1 -0
  91. package/dist/client/game/common/chat/index.d.ts +1 -0
  92. package/dist/client/game/common/chat/index.js +1 -0
  93. package/dist/client/game/common/controls/IControlsManager.d.ts +6 -0
  94. package/dist/client/game/common/controls/IControlsManager.js +1 -0
  95. package/dist/client/game/common/controls/index.d.ts +1 -0
  96. package/dist/client/game/common/controls/index.js +1 -0
  97. package/dist/client/game/common/cursor/ICursorManager.d.ts +5 -0
  98. package/dist/client/game/common/cursor/ICursorManager.js +1 -0
  99. package/dist/client/game/common/cursor/index.d.ts +1 -0
  100. package/dist/client/game/common/cursor/index.js +1 -0
  101. package/dist/client/game/common/gameplay/IGameplayManager.d.ts +5 -0
  102. package/dist/client/game/common/gameplay/IGameplayManager.js +1 -0
  103. package/dist/client/game/common/gameplay/index.d.ts +1 -0
  104. package/dist/client/game/common/gameplay/index.js +1 -0
  105. package/dist/client/game/common/graphics/IGraphicsManager.d.ts +14 -0
  106. package/dist/client/game/common/graphics/IGraphicsManager.js +1 -0
  107. package/dist/client/game/common/graphics/index.d.ts +1 -0
  108. package/dist/client/game/common/graphics/index.js +1 -0
  109. package/dist/client/game/common/gui/IGuiManager.d.ts +3 -0
  110. package/dist/client/game/common/gui/IGuiManager.js +1 -0
  111. package/dist/client/game/common/gui/index.d.ts +1 -0
  112. package/dist/client/game/common/gui/index.js +1 -0
  113. package/dist/client/game/common/index.d.ts +22 -0
  114. package/dist/client/game/common/index.js +22 -0
  115. package/dist/client/game/common/keys/IKeysManager.d.ts +6 -0
  116. package/dist/client/game/common/keys/IKeysManager.js +1 -0
  117. package/dist/client/game/common/keys/index.d.ts +1 -0
  118. package/dist/client/game/common/keys/index.js +1 -0
  119. package/dist/client/game/common/localPlayer/ILocalPlayerManager.d.ts +4 -0
  120. package/dist/client/game/common/localPlayer/ILocalPlayerManager.js +1 -0
  121. package/dist/client/game/common/localPlayer/index.d.ts +1 -0
  122. package/dist/client/game/common/localPlayer/index.js +1 -0
  123. package/dist/client/game/common/nametags/INametagsManager.d.ts +3 -0
  124. package/dist/client/game/common/nametags/INametagsManager.js +1 -0
  125. package/dist/client/game/common/nametags/index.d.ts +1 -0
  126. package/dist/client/game/common/nametags/index.js +1 -0
  127. package/dist/client/game/common/native/INativeCallerManager.d.ts +3 -0
  128. package/dist/client/game/common/native/INativeCallerManager.js +1 -0
  129. package/dist/client/game/common/native/index.d.ts +1 -0
  130. package/dist/client/game/common/native/index.js +1 -0
  131. package/dist/client/game/common/object/IGameObjectManager.d.ts +3 -0
  132. package/dist/client/game/common/object/IGameObjectManager.js +1 -0
  133. package/dist/client/game/common/object/index.d.ts +1 -0
  134. package/dist/client/game/common/object/index.js +1 -0
  135. package/dist/client/game/common/pathfind/IPathfindManager.d.ts +8 -0
  136. package/dist/client/game/common/pathfind/IPathfindManager.js +1 -0
  137. package/dist/client/game/common/pathfind/index.d.ts +1 -0
  138. package/dist/client/game/common/pathfind/index.js +1 -0
  139. package/dist/client/game/common/raycasting/IRaycastingManager.d.ts +15 -0
  140. package/dist/client/game/common/raycasting/IRaycastingManager.js +1 -0
  141. package/dist/client/game/common/raycasting/index.d.ts +1 -0
  142. package/dist/client/game/common/raycasting/index.js +1 -0
  143. package/dist/client/game/common/storage/IStorageManager.d.ts +6 -0
  144. package/dist/client/game/common/storage/IStorageManager.js +1 -0
  145. package/dist/client/game/common/storage/index.d.ts +1 -0
  146. package/dist/client/game/common/storage/index.js +1 -0
  147. package/dist/client/game/common/streaming/IStreamingManager.d.ts +7 -0
  148. package/dist/client/game/common/streaming/IStreamingManager.js +1 -0
  149. package/dist/client/game/common/streaming/index.d.ts +1 -0
  150. package/dist/client/game/common/streaming/index.js +1 -0
  151. package/dist/client/game/common/ui/IUiManager.d.ts +11 -0
  152. package/dist/client/game/common/ui/IUiManager.js +1 -0
  153. package/dist/client/game/common/ui/index.d.ts +1 -0
  154. package/dist/client/game/common/ui/index.js +1 -0
  155. package/dist/client/game/common/voiceChat/IVoiceChatManager.d.ts +4 -0
  156. package/dist/client/game/common/voiceChat/IVoiceChatManager.js +1 -0
  157. package/dist/client/game/common/voiceChat/index.d.ts +1 -0
  158. package/dist/client/game/common/voiceChat/index.js +1 -0
  159. package/dist/client/game/common/weapon/IWeaponManager.d.ts +3 -0
  160. package/dist/client/game/common/weapon/IWeaponManager.js +1 -0
  161. package/dist/client/game/common/weapon/index.d.ts +1 -0
  162. package/dist/client/game/common/weapon/index.js +1 -0
  163. package/dist/client/game/common/zone/IZoneManager.d.ts +4 -0
  164. package/dist/client/game/common/zone/IZoneManager.js +1 -0
  165. package/dist/client/game/common/zone/index.d.ts +1 -0
  166. package/dist/client/game/common/zone/index.js +1 -0
  167. package/dist/client/game/index.d.ts +1 -0
  168. package/dist/client/game/index.js +1 -0
  169. package/dist/client/game/ragemp/browser/RageBrowserManager.d.ts +7 -0
  170. package/dist/client/game/ragemp/browser/RageBrowserManager.js +19 -0
  171. package/dist/client/game/ragemp/camera/RageGameCameraManager.d.ts +5 -0
  172. package/dist/client/game/ragemp/camera/RageGameCameraManager.js +8 -0
  173. package/dist/client/game/ragemp/chat/RageChatManager.d.ts +5 -0
  174. package/dist/client/game/ragemp/chat/RageChatManager.js +8 -0
  175. package/dist/client/game/ragemp/controls/RageControlsManager.d.ts +7 -0
  176. package/dist/client/game/ragemp/controls/RageControlsManager.js +14 -0
  177. package/dist/client/game/ragemp/cursor/RageCursorManager.d.ts +6 -0
  178. package/dist/client/game/ragemp/cursor/RageCursorManager.js +10 -0
  179. package/dist/client/game/ragemp/gameplay/RageGameplayManager.d.ts +6 -0
  180. package/dist/client/game/ragemp/gameplay/RageGameplayManager.js +8 -0
  181. package/dist/client/game/ragemp/graphics/RageGraphicsManager.d.ts +8 -0
  182. package/dist/client/game/ragemp/graphics/RageGraphicsManager.js +30 -0
  183. package/dist/client/game/ragemp/gui/RageGuiManager.d.ts +4 -0
  184. package/dist/client/game/ragemp/gui/RageGuiManager.js +5 -0
  185. package/dist/client/game/ragemp/keys/RageKeysManager.d.ts +7 -0
  186. package/dist/client/game/ragemp/keys/RageKeysManager.js +14 -0
  187. package/dist/client/game/ragemp/localPlayer/RageLocalPlayerManager.d.ts +5 -0
  188. package/dist/client/game/ragemp/localPlayer/RageLocalPlayerManager.js +8 -0
  189. package/dist/client/game/ragemp/nametags/RageNametagsManager.d.ts +4 -0
  190. package/dist/client/game/ragemp/nametags/RageNametagsManager.js +5 -0
  191. package/dist/client/game/ragemp/native/RageNativeCallerManager.d.ts +4 -0
  192. package/dist/client/game/ragemp/native/RageNativeCallerManager.js +5 -0
  193. package/dist/client/game/ragemp/object/RageGameObjectManager.d.ts +4 -0
  194. package/dist/client/game/ragemp/object/RageGameObjectManager.js +5 -0
  195. package/dist/client/game/ragemp/pathfind/RagePathfindManager.d.ts +5 -0
  196. package/dist/client/game/ragemp/pathfind/RagePathfindManager.js +5 -0
  197. package/dist/client/game/ragemp/raycasting/RageRaycastingManager.d.ts +8 -0
  198. package/dist/client/game/ragemp/raycasting/RageRaycastingManager.js +41 -0
  199. package/dist/client/game/ragemp/storage/RageStorageManager.d.ts +7 -0
  200. package/dist/client/game/ragemp/storage/RageStorageManager.js +20 -0
  201. package/dist/client/game/ragemp/streaming/RageStreamingManager.d.ts +8 -0
  202. package/dist/client/game/ragemp/streaming/RageStreamingManager.js +18 -0
  203. package/dist/client/game/ragemp/ui/RageUiManager.d.ts +12 -0
  204. package/dist/client/game/ragemp/ui/RageUiManager.js +28 -0
  205. package/dist/client/game/ragemp/voiceChat/RageVoiceChatManager.d.ts +5 -0
  206. package/dist/client/game/ragemp/voiceChat/RageVoiceChatManager.js +8 -0
  207. package/dist/client/game/ragemp/weapon/RageWeaponManager.d.ts +4 -0
  208. package/dist/client/game/ragemp/weapon/RageWeaponManager.js +5 -0
  209. package/dist/client/game/ragemp/zone/RageZoneManager.d.ts +5 -0
  210. package/dist/client/game/ragemp/zone/RageZoneManager.js +5 -0
  211. package/dist/client/index.d.ts +3 -0
  212. package/dist/client/index.js +2 -0
  213. package/dist/client/net/common/INetManager.d.ts +2 -0
  214. package/dist/client/net/common/dataHandler/IDataHandler.d.ts +4 -0
  215. package/dist/client/net/common/dataHandler/IDataHandler.js +1 -0
  216. package/dist/client/net/common/events/IEventsBridge.d.ts +4 -0
  217. package/dist/client/net/common/events/IEventsBridge.js +1 -0
  218. package/dist/client/net/common/events/IEventsManager.d.ts +7 -3
  219. package/dist/client/net/common/events/types.d.ts +35 -2
  220. package/dist/client/net/common/events/types.js +11 -0
  221. package/dist/client/net/common/rpc/IRPCManager.d.ts +1 -1
  222. package/dist/client/net/ragemp/RageNetManager.d.ts +5 -0
  223. package/dist/client/net/ragemp/RageNetManager.js +11 -0
  224. package/dist/client/net/ragemp/dataHandler/RageDataHandler.d.ts +7 -0
  225. package/dist/client/net/ragemp/dataHandler/RageDataHandler.js +14 -0
  226. package/dist/client/net/ragemp/events/RageEventsBridge.d.ts +12 -0
  227. package/dist/client/net/ragemp/events/RageEventsBridge.js +137 -0
  228. package/dist/client/net/ragemp/events/RageEventsManager.d.ts +10 -9
  229. package/dist/client/net/ragemp/events/RageEventsManager.js +12 -0
  230. package/dist/client/net/ragemp/rpc/RageRPCManager.d.ts +1 -1
  231. package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +7 -0
  232. package/dist/server/entities/altv/vehicle/AltVVehicle.js +27 -0
  233. package/dist/server/entities/common/vehicle/IVehicle.d.ts +7 -0
  234. package/dist/server/entities/mock/vehicle/MockVehicle.d.ts +22 -0
  235. package/dist/server/entities/mock/vehicle/MockVehicle.js +48 -0
  236. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +1 -0
  237. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +10 -1
  238. package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +7 -0
  239. package/dist/server/entities/ragemp/vehicle/RageVehicle.js +21 -0
  240. package/dist/server/net/altv/events/AltVEventsManager.d.ts +1 -0
  241. package/dist/server/net/altv/events/AltVEventsManager.js +3 -0
  242. package/dist/server/net/common/events/IEventsManager.d.ts +1 -0
  243. package/dist/server/net/mock/events/MockEventsManager.d.ts +1 -0
  244. package/dist/server/net/mock/events/MockEventsManager.js +3 -0
  245. package/dist/server/net/ragemp/events/RageEventsManager.d.ts +1 -0
  246. package/dist/server/net/ragemp/events/RageEventsManager.js +5 -0
  247. package/dist/shared/common/utils/color/RGBA.d.ts +3 -1
  248. package/dist/shared/entities/IBaseObject.d.ts +6 -1
  249. package/dist/shared/entities/IBaseObject.js +1 -0
  250. package/dist/shared/net/common/events/types.d.ts +6 -1
  251. package/dist/shared/net/common/events/types.js +2 -0
  252. package/dist/shared/tsconfig.tsbuildinfo +1 -1
  253. package/package.json +17 -2
@@ -1,5 +1,8 @@
1
1
  import { RageEventsManager } from "./events/RageEventsManager";
2
+ import { RageEventsBridge } from "./events/RageEventsBridge";
2
3
  import { RageRPCManager } from "./rpc/RageRPCManager";
4
+ import { RageDataHandler } from "../../net/ragemp/dataHandler/RageDataHandler";
5
+ import { RageEntityPoolRouter } from "../../entities/ragemp/router/RageEntityPoolRouter";
3
6
  export class RageNetManager {
4
7
  get events() {
5
8
  return this._eventsManager;
@@ -7,8 +10,16 @@ export class RageNetManager {
7
10
  get rpc() {
8
11
  return this._rpcManager;
9
12
  }
13
+ get dataHandler() {
14
+ return this._dataHandler;
15
+ }
10
16
  constructor() {
17
+ this._entityPoolRouter = new RageEntityPoolRouter();
11
18
  this._eventsManager = new RageEventsManager();
12
19
  this._rpcManager = new RageRPCManager();
20
+ this._eventsBridge = new RageEventsBridge(this._eventsManager, this._entityPoolRouter);
21
+ this._dataHandler = new RageDataHandler(this._entityPoolRouter);
22
+ this._eventsBridge.registerRawEvents();
23
+ this._eventsBridge.registerServerEvents();
13
24
  }
14
25
  }
@@ -0,0 +1,7 @@
1
+ import { type IEntity, type IEntityPoolRouter } from "../../../entities";
2
+ import { type IDataHandler } from "../../../net/common/dataHandler/IDataHandler";
3
+ export declare class RageDataHandler implements IDataHandler {
4
+ private readonly _entityPoolRouter;
5
+ constructor(entityPoolRouter: IEntityPoolRouter);
6
+ addDataHandler(key: string, callback: (entity: IEntity, value: unknown, oldValue?: unknown) => void): void;
7
+ }
@@ -0,0 +1,14 @@
1
+ export class RageDataHandler {
2
+ constructor(entityPoolRouter) {
3
+ this._entityPoolRouter = entityPoolRouter;
4
+ }
5
+ addDataHandler(key, callback) {
6
+ mp.events.addDataHandler(key, (mpEntity, value, oldValue) => {
7
+ const entity = this._entityPoolRouter.resolveFromMp(mpEntity);
8
+ if (!entity) {
9
+ return;
10
+ }
11
+ callback(entity, value, oldValue);
12
+ });
13
+ }
14
+ }
@@ -0,0 +1,12 @@
1
+ import { type IEntityPoolRouter } from "../../../entities/common";
2
+ import { type IEventsBridge } from "../../../net/common/events/IEventsBridge";
3
+ import { type IEventsManager } from "../../../net/common/events/IEventsManager";
4
+ export declare class RageEventsBridge implements IEventsBridge {
5
+ private readonly _events;
6
+ private readonly _entityPoolRouter;
7
+ constructor(events: IEventsManager, entityPoolRouter: IEntityPoolRouter);
8
+ registerRawEvents(): void;
9
+ registerServerEvents(): void;
10
+ private get _rockMod();
11
+ private _syncEntityPools;
12
+ }
@@ -0,0 +1,137 @@
1
+ import { ClientInternalEventName } from "../../../net/common/events/types";
2
+ import { RockMod } from "../../../RockMod";
3
+ import { ServerToClientEventName } from "../../../../shared/net/common/events/types";
4
+ import { Vector3D } from "../../../../shared/common/utils";
5
+ export class RageEventsBridge {
6
+ constructor(events, entityPoolRouter) {
7
+ this._events = events;
8
+ this._entityPoolRouter = entityPoolRouter;
9
+ }
10
+ registerRawEvents() {
11
+ this._events.onRaw({
12
+ playerReady: () => {
13
+ var _a;
14
+ const playersManager = (_a = this._rockMod) === null || _a === void 0 ? void 0 : _a.players;
15
+ if (!playersManager) {
16
+ return;
17
+ }
18
+ playersManager.syncWithMpPool();
19
+ this._syncEntityPools();
20
+ const localPlayer = playersManager.findLocalPlayer();
21
+ if (!localPlayer) {
22
+ return;
23
+ }
24
+ this._events.emitInternal(ClientInternalEventName.PlayerReady, localPlayer);
25
+ },
26
+ playerJoin: (mpPlayer) => {
27
+ const player = this._entityPoolRouter.registerFromMp(mpPlayer);
28
+ if (!player) {
29
+ return;
30
+ }
31
+ this._events.emitInternal(ClientInternalEventName.PlayerConnected, player);
32
+ },
33
+ playerQuit: (mpPlayer) => {
34
+ var _a;
35
+ const playersManager = (_a = this._rockMod) === null || _a === void 0 ? void 0 : _a.players;
36
+ if (!playersManager) {
37
+ return;
38
+ }
39
+ const player = playersManager.unregisterById(mpPlayer.id);
40
+ if (!player) {
41
+ return;
42
+ }
43
+ this._events.emitInternal(ClientInternalEventName.PlayerDisconnected, player);
44
+ },
45
+ entityStreamIn: (mpEntity) => {
46
+ const entity = this._entityPoolRouter.resolveFromMp(mpEntity);
47
+ if (!entity) {
48
+ return;
49
+ }
50
+ this._events.emitInternal(ClientInternalEventName.EntityStreamIn, entity);
51
+ },
52
+ entityStreamOut: (mpEntity) => {
53
+ const entity = this._entityPoolRouter.resolveFromMp(mpEntity);
54
+ if (!entity) {
55
+ return;
56
+ }
57
+ this._events.emitInternal(ClientInternalEventName.EntityStreamOut, entity);
58
+ },
59
+ playerEnterVehicle: (mpVehicle, seat) => {
60
+ const vehicle = this._entityPoolRouter.registerFromMp(mpVehicle);
61
+ if (!vehicle) {
62
+ return;
63
+ }
64
+ this._events.emitInternal(ClientInternalEventName.PlayerEnterVehicle, vehicle, seat);
65
+ },
66
+ playerLeaveVehicle: (mpVehicle, seat) => {
67
+ const vehicle = this._entityPoolRouter.resolveFromMp(mpVehicle);
68
+ if (!vehicle) {
69
+ return;
70
+ }
71
+ this._events.emitInternal(ClientInternalEventName.PlayerLeaveVehicle, vehicle, seat);
72
+ },
73
+ playerDeath: (mpPlayer) => {
74
+ const player = this._entityPoolRouter.registerFromMp(mpPlayer);
75
+ if (!player) {
76
+ return;
77
+ }
78
+ this._events.emitInternal(ClientInternalEventName.PlayerDeath, player);
79
+ },
80
+ playerSpawn: (mpPlayer) => {
81
+ const player = this._entityPoolRouter.registerFromMp(mpPlayer);
82
+ if (!player) {
83
+ return;
84
+ }
85
+ this._events.emitInternal(ClientInternalEventName.PlayerSpawn, player);
86
+ },
87
+ playerWeaponShot: () => {
88
+ this._events.emitInternal(ClientInternalEventName.PlayerWeaponShot);
89
+ },
90
+ browserDomReady: () => {
91
+ this._events.emitInternal(ClientInternalEventName.BrowserDomReady);
92
+ },
93
+ render: () => {
94
+ this._events.emitInternal(ClientInternalEventName.Render);
95
+ },
96
+ click: (absoluteX, absoluteY, upOrDown, leftOrRight, relativeX, relativeY, worldPosition, hitEntity) => {
97
+ const clickedWorldPosition = worldPosition
98
+ ? new Vector3D(worldPosition.x, worldPosition.y, worldPosition.z)
99
+ : null;
100
+ this._events.emitInternal(ClientInternalEventName.Click, {
101
+ absoluteX,
102
+ absoluteY,
103
+ upOrDown,
104
+ leftOrRight,
105
+ relativeX: relativeX !== null && relativeX !== void 0 ? relativeX : null,
106
+ relativeY: relativeY !== null && relativeY !== void 0 ? relativeY : null,
107
+ hitEntity: hitEntity !== null && hitEntity !== void 0 ? hitEntity : null,
108
+ worldPosition: clickedWorldPosition,
109
+ });
110
+ },
111
+ });
112
+ }
113
+ registerServerEvents() {
114
+ this._events.onServer({
115
+ [ServerToClientEventName.EntityCreated]: (serverEntity) => {
116
+ this._entityPoolRouter.registerByDto(serverEntity);
117
+ },
118
+ [ServerToClientEventName.EntityDestroyed]: (serverEntity) => {
119
+ this._entityPoolRouter.unregisterByDto(serverEntity);
120
+ },
121
+ });
122
+ }
123
+ get _rockMod() {
124
+ try {
125
+ return RockMod.instance;
126
+ }
127
+ catch (_a) {
128
+ return null;
129
+ }
130
+ }
131
+ _syncEntityPools() {
132
+ var _a, _b, _c;
133
+ (_a = this._rockMod) === null || _a === void 0 ? void 0 : _a.vehicles.syncWithMpPool();
134
+ (_b = this._rockMod) === null || _b === void 0 ? void 0 : _b.objects.syncWithMpPool();
135
+ (_c = this._rockMod) === null || _c === void 0 ? void 0 : _c.peds.syncWithMpPool();
136
+ }
137
+ }
@@ -1,14 +1,15 @@
1
1
  import { type IEventsManager } from "../../common/events/IEventsManager";
2
- import { type IClientInternalEvents } from "@RockMod/client/net/common/events/types";
3
- import { type IClientToServerEvents, type IServerToClientEvents } from "@shared/net/common/events/types";
4
- interface IRageClientInternalEvents extends IClientInternalEvents, IClientEvents {
5
- }
2
+ import { type IClientInternalEvents } from "../../../net/common/events/types";
3
+ import { type IClientToServerEvents, type IServerToClientEvents } from "../../../../shared/net/common/events/types";
6
4
  export declare class RageEventsManager implements IEventsManager {
7
- onInternal(events: Partial<IRageClientInternalEvents>): void;
8
- offInternal<K extends keyof IRageClientInternalEvents>(eventName: K, listener: IRageClientInternalEvents[K]): void;
9
- emitInternal<K extends keyof IRageClientInternalEvents>(eventName: K, ...args: Parameters<IRageClientInternalEvents[K]>): void;
5
+ onRaw(events: Partial<IClientEvents>): void;
6
+ offRaw<K extends keyof IClientEvents>(eventName: K, listener?: IClientEvents[K]): void;
7
+ onInternal(events: Partial<IClientInternalEvents>): void;
8
+ offInternal<K extends keyof IClientInternalEvents>(eventName: K, listener?: IClientInternalEvents[K]): void;
9
+ emitInternal<K extends keyof IClientInternalEvents>(eventName: K, ...args: Parameters<IClientInternalEvents[K]>): void;
10
10
  onServer(events: Partial<IServerToClientEvents>): void;
11
- offServer<K extends keyof IServerToClientEvents>(eventName: K, listener: IServerToClientEvents[K]): void;
11
+ offServer<K extends keyof IServerToClientEvents>(eventName: K, listener?: IServerToClientEvents[K]): void;
12
12
  emitServer<K extends keyof IClientToServerEvents>(eventName: K, ...args: Parameters<IClientToServerEvents[K]>): void;
13
+ register(event: string, listener: (...args: unknown[]) => void): void;
14
+ unregister(event: string): void;
13
15
  }
14
- export {};
@@ -1,4 +1,10 @@
1
1
  export class RageEventsManager {
2
+ onRaw(events) {
3
+ mp.events.add(events);
4
+ }
5
+ offRaw(eventName, listener) {
6
+ mp.events.remove(eventName, listener);
7
+ }
2
8
  onInternal(events) {
3
9
  mp.events.add(events);
4
10
  }
@@ -17,4 +23,10 @@ export class RageEventsManager {
17
23
  emitServer(eventName, ...args) {
18
24
  return mp.events.callRemote(eventName, ...args);
19
25
  }
26
+ register(event, listener) {
27
+ mp.events.add(event, listener);
28
+ }
29
+ unregister(event) {
30
+ mp.events.remove(event);
31
+ }
20
32
  }
@@ -1,5 +1,5 @@
1
1
  import { type IRPCManager } from "../../common/rpc/IRPCManager";
2
- import { type IClientRPCList, type IServerRPCList } from "@shared/net/common/rpc/types";
2
+ import { type IClientRPCList, type IServerRPCList } from "../../../../shared/net/common/rpc/types";
3
3
  export declare class RageRPCManager implements IRPCManager {
4
4
  register<K extends keyof IClientRPCList>(rpcName: K, handler: (...args: Parameters<IClientRPCList[K]>) => ReturnType<IClientRPCList[K]>): void;
5
5
  unregister<K extends keyof IClientRPCList>(rpcName: K): void;
@@ -29,6 +29,13 @@ export declare class AltVVehicle extends AltVEntity<Vehicle> implements IVehicle
29
29
  setSecondaryColor(value: number): void;
30
30
  setCustomPrimaryColor(value: RGBA): void;
31
31
  setCustomSecondaryColor(value: RGBA): void;
32
+ setMod(modType: number, modIndex: number): void;
33
+ getMod(modType: number): number;
34
+ setNeonEnabled(enabled: boolean): void;
35
+ setNeonColor(r: number, g: number, b: number): void;
36
+ setWindowTint(tintType: number): void;
37
+ setWheelType(wheelType: number): void;
38
+ setPlateType(plateType: number): void;
32
39
  explode(): void;
33
40
  repair(): void;
34
41
  private static _clampColorId;
@@ -85,6 +85,33 @@ class AltVVehicle extends AltVEntity_1.AltVEntity {
85
85
  const { r, g, b, a } = value;
86
86
  this.mpEntity.customSecondaryColor = new AltVShared.RGBA(r, g, b, a);
87
87
  }
88
+ setMod(modType, modIndex) {
89
+ this.mpEntity.setMod(modType, modIndex);
90
+ }
91
+ getMod(modType) {
92
+ return this.mpEntity.getMod(modType);
93
+ }
94
+ setNeonEnabled(enabled) {
95
+ this.mpEntity.neon = {
96
+ ...this.mpEntity.neon,
97
+ left: enabled,
98
+ right: enabled,
99
+ front: enabled,
100
+ back: enabled,
101
+ };
102
+ }
103
+ setNeonColor(r, g, b) {
104
+ this.mpEntity.neonColor = new AltVShared.RGBA(r, g, b);
105
+ }
106
+ setWindowTint(tintType) {
107
+ this.mpEntity.windowTint = tintType;
108
+ }
109
+ setWheelType(wheelType) {
110
+ this.mpEntity.setWheels(wheelType, 0);
111
+ }
112
+ setPlateType(plateType) {
113
+ this.mpEntity.numberPlateIndex = plateType;
114
+ }
88
115
  explode() {
89
116
  this.mpEntity.engineHealth = 0;
90
117
  this.mpEntity.bodyHealth = 0;
@@ -44,6 +44,13 @@ export interface IVehicle extends IEntity {
44
44
  setSecondaryColor(value: number): void;
45
45
  setCustomPrimaryColor(value: IRGBA): void;
46
46
  setCustomSecondaryColor(value: IRGBA): void;
47
+ setMod(modType: number, modIndex: number): void;
48
+ getMod(modType: number): number;
49
+ setNeonEnabled(enabled: boolean): void;
50
+ setNeonColor(r: number, g: number, b: number): void;
51
+ setWindowTint(tintType: number): void;
52
+ setWheelType(wheelType: number): void;
53
+ setPlateType(plateType: number): void;
47
54
  explode(): void;
48
55
  repair(): void;
49
56
  }
@@ -18,6 +18,12 @@ export declare class MockVehicle extends MockEntity implements IVehicle {
18
18
  private _customPrimaryColor;
19
19
  private _customSecondaryColor;
20
20
  private _passengers;
21
+ private _mods;
22
+ private _neonEnabled;
23
+ private _neonColor;
24
+ private _windowTint;
25
+ private _wheelType;
26
+ private _plateType;
21
27
  get bodyHealth(): number;
22
28
  get engineHealth(): number;
23
29
  get engineOn(): boolean;
@@ -28,6 +34,15 @@ export declare class MockVehicle extends MockEntity implements IVehicle {
28
34
  get secondaryColor(): number;
29
35
  get customPrimaryColor(): RGBA;
30
36
  get customSecondaryColor(): RGBA;
37
+ get neonEnabled(): boolean;
38
+ get neonColor(): {
39
+ r: number;
40
+ g: number;
41
+ b: number;
42
+ };
43
+ get windowTint(): number;
44
+ get wheelType(): number;
45
+ get plateType(): number;
31
46
  get driver(): MockPlayer | null;
32
47
  get passengers(): Set<MockPlayer>;
33
48
  constructor(options: IMockVehicleOptions);
@@ -40,6 +55,13 @@ export declare class MockVehicle extends MockEntity implements IVehicle {
40
55
  setSecondaryColor(value: number): void;
41
56
  setCustomPrimaryColor(value: RGBA): void;
42
57
  setCustomSecondaryColor(value: RGBA): void;
58
+ setMod(modType: number, modIndex: number): void;
59
+ getMod(modType: number): number;
60
+ setNeonEnabled(enabled: boolean): void;
61
+ setNeonColor(r: number, g: number, b: number): void;
62
+ setWindowTint(tintType: number): void;
63
+ setWheelType(wheelType: number): void;
64
+ setPlateType(plateType: number): void;
43
65
  explode(): void;
44
66
  repair(): void;
45
67
  }
@@ -16,6 +16,12 @@ class MockVehicle extends MockEntity_1.MockEntity {
16
16
  _customPrimaryColor;
17
17
  _customSecondaryColor;
18
18
  _passengers;
19
+ _mods;
20
+ _neonEnabled;
21
+ _neonColor;
22
+ _windowTint;
23
+ _wheelType;
24
+ _plateType;
19
25
  get bodyHealth() {
20
26
  return this._bodyHealth;
21
27
  }
@@ -48,6 +54,21 @@ class MockVehicle extends MockEntity_1.MockEntity {
48
54
  const { r, g, b, a } = this._customSecondaryColor;
49
55
  return new utils_1.RGBA(r, g, b, a);
50
56
  }
57
+ get neonEnabled() {
58
+ return this._neonEnabled;
59
+ }
60
+ get neonColor() {
61
+ return this._neonColor;
62
+ }
63
+ get windowTint() {
64
+ return this._windowTint;
65
+ }
66
+ get wheelType() {
67
+ return this._wheelType;
68
+ }
69
+ get plateType() {
70
+ return this._plateType;
71
+ }
51
72
  get driver() {
52
73
  for (const passenger of this._passengers.values()) {
53
74
  if (passenger.seat === 0) {
@@ -72,6 +93,12 @@ class MockVehicle extends MockEntity_1.MockEntity {
72
93
  this._customPrimaryColor = new utils_1.RGBA(0, 0, 0);
73
94
  this._customSecondaryColor = new utils_1.RGBA(0, 0, 0);
74
95
  this._passengers = new Set();
96
+ this._mods = new Map();
97
+ this._neonEnabled = false;
98
+ this._neonColor = { r: 0, g: 0, b: 0 };
99
+ this._windowTint = 0;
100
+ this._wheelType = 0;
101
+ this._plateType = 0;
75
102
  }
76
103
  setBodyHealth(value) {
77
104
  this._bodyHealth = value;
@@ -100,6 +127,27 @@ class MockVehicle extends MockEntity_1.MockEntity {
100
127
  setCustomSecondaryColor(value) {
101
128
  this._customSecondaryColor = value;
102
129
  }
130
+ setMod(modType, modIndex) {
131
+ this._mods.set(modType, modIndex);
132
+ }
133
+ getMod(modType) {
134
+ return this._mods.get(modType) ?? -1;
135
+ }
136
+ setNeonEnabled(enabled) {
137
+ this._neonEnabled = enabled;
138
+ }
139
+ setNeonColor(r, g, b) {
140
+ this._neonColor = { r, g, b };
141
+ }
142
+ setWindowTint(tintType) {
143
+ this._windowTint = tintType;
144
+ }
145
+ setWheelType(wheelType) {
146
+ this._wheelType = wheelType;
147
+ }
148
+ setPlateType(plateType) {
149
+ this._plateType = plateType;
150
+ }
103
151
  explode() {
104
152
  this.setBodyHealth(0);
105
153
  this.setEngineHealth(0);
@@ -14,4 +14,5 @@ export declare abstract class RageBaseObjectsManager<T extends RageBaseObject<En
14
14
  findByID(id: number): T | null;
15
15
  protected registerBaseObject(baseObject: T): void;
16
16
  protected unregisterBaseObject(baseObject: T): void;
17
+ private _toBaseObjectDto;
17
18
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RageBaseObjectsManager = void 0;
4
4
  const RageBaseObjectsIterator_1 = require("./RageBaseObjectsIterator");
5
5
  const RockMod_1 = require("../../../RockMod");
6
+ const shared_1 = require("../../../../shared");
6
7
  const types_1 = require("../../../net/common/events/types");
7
8
  class RageBaseObjectsManager {
8
9
  _baseObjects;
@@ -42,12 +43,20 @@ class RageBaseObjectsManager {
42
43
  }
43
44
  this._baseObjects.set(baseObject.id, baseObject);
44
45
  RockMod_1.RockMod.instance.net.events.emitInternal(types_1.ServerInternalEventName.EntityCreated, baseObject);
46
+ RockMod_1.RockMod.instance.net.events.emitAllClients(shared_1.ServerToClientEventName.EntityCreated, this._toBaseObjectDto(baseObject));
45
47
  }
46
48
  unregisterBaseObject(baseObject) {
47
49
  if (!this._baseObjects.delete(baseObject.id)) {
48
50
  throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} not found`);
49
51
  }
50
- RockMod_1.RockMod.instance.net.events.emitInternal(types_1.ServerInternalEventName.EntityCreated, baseObject);
52
+ RockMod_1.RockMod.instance.net.events.emitInternal(types_1.ServerInternalEventName.EntityDestroyed, baseObject);
53
+ RockMod_1.RockMod.instance.net.events.emitAllClients(shared_1.ServerToClientEventName.EntityDestroyed, this._toBaseObjectDto(baseObject));
54
+ }
55
+ _toBaseObjectDto(baseObject) {
56
+ return {
57
+ type: baseObject.type,
58
+ remoteId: baseObject.id,
59
+ };
51
60
  }
52
61
  }
53
62
  exports.RageBaseObjectsManager = RageBaseObjectsManager;
@@ -28,6 +28,13 @@ export declare class RageVehicle extends RageEntity<VehicleMp> implements IVehic
28
28
  setSecondaryColor(value: number): void;
29
29
  setCustomPrimaryColor(value: RGBA): void;
30
30
  setCustomSecondaryColor(value: RGBA): void;
31
+ setMod(modType: number, modIndex: number): void;
32
+ getMod(modType: number): number;
33
+ setNeonEnabled(enabled: boolean): void;
34
+ setNeonColor(r: number, g: number, b: number): void;
35
+ setWindowTint(tintType: number): void;
36
+ setWheelType(wheelType: number): void;
37
+ setPlateType(plateType: number): void;
31
38
  explode(): void;
32
39
  repair(): void;
33
40
  private static _clampColorId;
@@ -82,6 +82,27 @@ class RageVehicle extends RageEntity_1.RageEntity {
82
82
  setCustomSecondaryColor(value) {
83
83
  this.mpEntity.setColorRGB(this.customPrimaryColor.r, this.customPrimaryColor.g, this.customPrimaryColor.b, value.r, value.g, value.b);
84
84
  }
85
+ setMod(modType, modIndex) {
86
+ this.mpEntity.setMod(modType, modIndex);
87
+ }
88
+ getMod(modType) {
89
+ return this.mpEntity.getMod(modType);
90
+ }
91
+ setNeonEnabled(enabled) {
92
+ this.mpEntity.neonEnabled = enabled;
93
+ }
94
+ setNeonColor(r, g, b) {
95
+ this.mpEntity.setNeonColor(r, g, b);
96
+ }
97
+ setWindowTint(tintType) {
98
+ this.mpEntity.windowTint = tintType;
99
+ }
100
+ setWheelType(wheelType) {
101
+ this.mpEntity.wheelType = wheelType;
102
+ }
103
+ setPlateType(plateType) {
104
+ this.mpEntity.numberPlateType = plateType;
105
+ }
85
106
  explode() {
86
107
  return this.mpEntity.explode();
87
108
  }
@@ -11,5 +11,6 @@ export declare class AltVEventsManager implements IEventsManager {
11
11
  onClient(events: Partial<IClientToServerEvents>): void;
12
12
  offClient<K extends keyof IClientToServerEvents>(eventName: K, listener: IClientToServerEvents[K]): void;
13
13
  emitClient<K extends keyof IServerToClientEvents>(player: AltVPlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
15
  }
15
16
  export {};
@@ -31,5 +31,8 @@ class AltVEventsManager {
31
31
  }
32
32
  return mpPlayer.emit(eventName, ...args);
33
33
  }
34
+ emitAllClients(eventName, ...args) {
35
+ Player.all.forEach((player) => player.emit(eventName, ...args));
36
+ }
34
37
  }
35
38
  exports.AltVEventsManager = AltVEventsManager;
@@ -8,4 +8,5 @@ export interface IEventsManager {
8
8
  onClient(events: Partial<IClientToServerEvents>): void;
9
9
  offClient<K extends keyof IClientToServerEvents>(eventName: K, listener: IClientToServerEvents[K]): void;
10
10
  emitClient<K extends keyof IServerToClientEvents>(player: IPlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
11
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
11
12
  }
@@ -10,4 +10,5 @@ export declare class MockEventsManager implements IEventsManager {
10
10
  onClient(events: Partial<IClientToServerEvents>): void;
11
11
  offClient<K extends keyof IClientToServerEvents>(eventName: K, listener: IClientToServerEvents[K]): void;
12
12
  emitClient<K extends keyof IServerToClientEvents>(player: MockPlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
13
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
13
14
  }
@@ -26,5 +26,8 @@ class MockEventsManager {
26
26
  emitClient(player, eventName, ...args) {
27
27
  this._eventEmitter.emit(eventName, player, ...args);
28
28
  }
29
+ emitAllClients(eventName, ...args) {
30
+ this._eventEmitter.emit(eventName, ...args);
31
+ }
29
32
  }
30
33
  exports.MockEventsManager = MockEventsManager;
@@ -11,5 +11,6 @@ export declare class RageEventsManager implements IEventsManager {
11
11
  onClient(events: Partial<IClientToServerEvents>): void;
12
12
  offClient<K extends keyof IClientToServerEvents>(eventName: K): void;
13
13
  emitClient<K extends keyof IServerToClientEvents>(player: RagePlayer, eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
+ emitAllClients<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
14
15
  }
15
16
  export {};
@@ -24,5 +24,10 @@ class RageEventsManager {
24
24
  }
25
25
  return mpPlayer.call(eventName, args);
26
26
  }
27
+ emitAllClients(eventName, ...args) {
28
+ mp.players.forEach((mpPlayer) => {
29
+ mpPlayer.call(eventName, args);
30
+ });
31
+ }
27
32
  }
28
33
  exports.RageEventsManager = RageEventsManager;
@@ -1,7 +1,9 @@
1
- export interface IRGBA {
1
+ export interface IRGB {
2
2
  get r(): number;
3
3
  get g(): number;
4
4
  get b(): number;
5
+ }
6
+ export interface IRGBA extends IRGB {
5
7
  get a(): number | undefined;
6
8
  }
7
9
  export declare class RGBA implements IRGBA {
@@ -5,5 +5,10 @@ export declare enum BaseObjectType {
5
5
  Object = "object",
6
6
  Ped = "ped",
7
7
  Player = "player",
8
- Vehicle = "vehicle"
8
+ Vehicle = "vehicle",
9
+ Camera = "camera"
10
+ }
11
+ export interface IBaseObjectDto {
12
+ type: BaseObjectType;
13
+ remoteId: number;
9
14
  }
@@ -10,4 +10,5 @@ var BaseObjectType;
10
10
  BaseObjectType["Ped"] = "ped";
11
11
  BaseObjectType["Player"] = "player";
12
12
  BaseObjectType["Vehicle"] = "vehicle";
13
+ BaseObjectType["Camera"] = "camera";
13
14
  })(BaseObjectType || (exports.BaseObjectType = BaseObjectType = {}));
@@ -1,11 +1,16 @@
1
+ import { type IBaseObjectDto } from "../../../entities";
1
2
  export declare enum ServerToClientEventName {
2
- TestServerToClientEvent = "rm::testServerToClientEvent"
3
+ TestServerToClientEvent = "rm::testServerToClientEvent",
4
+ EntityCreated = "rm::serverEntityCreated",
5
+ EntityDestroyed = "rm::serverEntityDestroyed"
3
6
  }
4
7
  export declare enum ClientToServerEventName {
5
8
  TestClientToServerEvent = "rm::testClientToServerEvent"
6
9
  }
7
10
  export interface IServerToClientEvents {
8
11
  [ServerToClientEventName.TestServerToClientEvent]: () => void;
12
+ [ServerToClientEventName.EntityCreated]: (entity: IBaseObjectDto) => void;
13
+ [ServerToClientEventName.EntityDestroyed]: (entity: IBaseObjectDto) => void;
9
14
  }
10
15
  export interface IClientToServerEvents {
11
16
  [ClientToServerEventName.TestClientToServerEvent]: () => void;
@@ -4,6 +4,8 @@ exports.ClientToServerEventName = exports.ServerToClientEventName = void 0;
4
4
  var ServerToClientEventName;
5
5
  (function (ServerToClientEventName) {
6
6
  ServerToClientEventName["TestServerToClientEvent"] = "rm::testServerToClientEvent";
7
+ ServerToClientEventName["EntityCreated"] = "rm::serverEntityCreated";
8
+ ServerToClientEventName["EntityDestroyed"] = "rm::serverEntityDestroyed";
7
9
  })(ServerToClientEventName || (exports.ServerToClientEventName = ServerToClientEventName = {}));
8
10
  var ClientToServerEventName;
9
11
  (function (ClientToServerEventName) {