UNPKG

rock-mod

Version:

Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.

191 lines (190 loc) 7.76 kB
import { CCMPNetManager } from "../../net/ccmp/CCMPNetManager"; import { CCMPBrowserManager } from "../../game/ccmp/browser/CCMPBrowserManager"; import { CCMPStorageManager } from "../../game/ccmp/storage/CCMPStorageManager"; import { CCMPKeysManager } from "../../game/ccmp/keys/CCMPKeysManager"; import { CCMPNametagsManager } from "../../game/ccmp/nametags/CCMPNametagsManager"; import { CCMPChatManager } from "../../game/ccmp/chat/CCMPChatManager"; import { CCMPControlsManager } from "../../game/ccmp/controls/CCMPControlsManager"; import { CCMPPlayersManager } from "../../entities/ccmp/player/CCMPPlayersManager"; import { CCMPPedsManager } from "../../entities/ccmp/ped/CCMPPedsManager"; import { CCMPVehiclesManager } from "../../entities/ccmp/vehicle/CCMPVehiclesManager"; import { CCMPObjectsManager } from "../../entities/ccmp/object/CCMPObjectsManager"; import { CCMPMarkersManager } from "../../entities/ccmp/marker/CCMPMarkersManager"; import { CCMPBlipsManager } from "../../entities/ccmp/blip/CCMPBlipsManager"; import { CCMPColshapesManager } from "../../entities/ccmp/colshape/CCMPColshapesManager"; import { CCMPUtilsManager } from "../../utils/ccmp/CCMPUtilsManager"; import { CCMPGraphicsManager } from "../../game/ccmp/graphics/CCMPGraphicsManager"; import { CCMPUiManager } from "../../game/ccmp/ui/CCMPUiManager"; import { CCMPPathfindManager } from "../../game/ccmp/pathfind/CCMPPathfindManager"; import { CCMPZoneManager } from "../../game/ccmp/zone/CCMPZoneManager"; import { CCMPNativeCallerManager } from "../../game/ccmp/native/CCMPNativeCallerManager"; import { CCMPGuiManager } from "../../game/ccmp/gui/CCMPGuiManager"; import { CCMPRaycastingManager } from "../../game/ccmp/raycasting/CCMPRaycastingManager"; import { CCMPSyncedMetaBridge } from "../../net/ccmp/events/CCMPSyncedMetaBridge"; import { CCMPCameraManager } from "../../entities/ccmp/camera/CCMPCameraManager"; import { CCMPStreamingManager } from "../../game/ccmp/streaming/CCMPStreamingManager"; import { CCMPCursorManager } from "../../game/ccmp/cursor/CCMPCursorManager"; import { CCMPGameObjectManager } from "../../game/ccmp/object/CCMPGameObjectManager"; import { CCMPGameplayManager } from "../../game/ccmp/gameplay/CCMPGameplayManager"; import { CCMPWeaponManager } from "../../game/ccmp/weapon/CCMPWeaponManager"; import { createNotImplementedProxy } from "./createNotImplementedProxy"; export class CCMPManagersFactory { constructor() { this._netManager = null; this._blipsManager = null; this._colshapesManager = null; this._markersManager = null; this._objectsManager = null; this._pedsManager = null; this._playersManager = null; this._vehiclesManager = null; this._syncedMetaBridgeRegistered = false; } createNetManager() { this._netManager = new CCMPNetManager(); return this._netManager; } _requireNetManager(forMethod) { if (!this._netManager) { throw new Error(`CCMPManagersFactory.${forMethod}: ` + "createNetManager() was not called yet. This violates RockMod manager factory order."); } return this._netManager; } _registerSyncedMetaBridgeIfReady() { if (this._syncedMetaBridgeRegistered || !this._netManager || !this._blipsManager || !this._colshapesManager || !this._markersManager || !this._objectsManager || !this._pedsManager || !this._playersManager || !this._vehiclesManager) { return; } new CCMPSyncedMetaBridge(this._netManager.events, { blips: this._blipsManager, colshapes: this._colshapesManager, markers: this._markersManager, objects: this._objectsManager, peds: this._pedsManager, players: this._playersManager, vehicles: this._vehiclesManager, }).register(); this._syncedMetaBridgeRegistered = true; } createBlipsManager() { const netManager = this._requireNetManager("createBlipsManager"); this._blipsManager = new CCMPBlipsManager(netManager.events); this._registerSyncedMetaBridgeIfReady(); return this._blipsManager; } createColshapesManager() { const netManager = this._requireNetManager("createColshapesManager"); this._colshapesManager = new CCMPColshapesManager(netManager.events); this._registerSyncedMetaBridgeIfReady(); return this._colshapesManager; } createMarkersManager() { const netManager = this._requireNetManager("createMarkersManager"); this._markersManager = new CCMPMarkersManager(netManager.events); this._registerSyncedMetaBridgeIfReady(); return this._markersManager; } createObjectsManager() { const netManager = this._requireNetManager("createObjectsManager"); this._objectsManager = new CCMPObjectsManager(netManager.events); this._registerSyncedMetaBridgeIfReady(); return this._objectsManager; } createPedsManager() { const netManager = this._requireNetManager("createPedsManager"); this._pedsManager = new CCMPPedsManager(netManager.events); this._registerSyncedMetaBridgeIfReady(); return this._pedsManager; } createPlayersManager() { const netManager = this._requireNetManager("createPlayersManager"); this._playersManager = new CCMPPlayersManager(netManager.events); this._registerSyncedMetaBridgeIfReady(); return this._playersManager; } createUtilsManager() { return new CCMPUtilsManager(); } createVehiclesManager() { this._vehiclesManager = new CCMPVehiclesManager(); this._registerSyncedMetaBridgeIfReady(); return this._vehiclesManager; } createBrowserManager() { return new CCMPBrowserManager(); } createChatManager() { return new CCMPChatManager(); } createCursorManager() { return new CCMPCursorManager(); } createGuiManager() { return new CCMPGuiManager(); } createRaycastingManager() { return new CCMPRaycastingManager(); } createVoiceChatManager() { return createNotImplementedProxy("CCMPVoiceChatManager"); } createCameraManager() { return new CCMPCameraManager(); } createStorageManager() { return new CCMPStorageManager(); } createGraphicsManager() { return new CCMPGraphicsManager(); } createNativeManager() { return new CCMPNativeCallerManager(); } createStreamingManager() { return new CCMPStreamingManager(); } createLocalPlayerManager() { return createNotImplementedProxy("CCMPLocalPlayerManager"); } createControlsManager() { return new CCMPControlsManager(); } createKeysManager() { return new CCMPKeysManager(); } createGameplayManager() { return new CCMPGameplayManager(); } createGameCameraManager() { return createNotImplementedProxy("CCMPGameCameraManager"); } createUiManager() { return new CCMPUiManager(); } createNametagsManager() { return new CCMPNametagsManager(); } createPathfindManager() { return new CCMPPathfindManager(); } createZoneManager() { return new CCMPZoneManager(); } createWeaponManager() { return new CCMPWeaponManager(); } createGameObjectManager() { return new CCMPGameObjectManager(); } createConsoleManager() { return createNotImplementedProxy("CCMPConsoleManager"); } }