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
JavaScript
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");
}
}