UNPKG

rock-mod

Version:

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

81 lines (80 loc) 2.96 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; export class RockMod { static create(options) { return __awaiter(this, void 0, void 0, function* () { if (this._instance) { throw new Error("RockMod already created"); } const managersFactory = yield this._initManagersFactory(options); this._instance = new RockMod(managersFactory); return this._instance; }); } static get instance() { if (!this._instance) { throw new Error("RockMod is not created"); } return this._instance; } static _initManagersFactory(options) { return __awaiter(this, void 0, void 0, function* () { const { multiplayer } = options; switch (multiplayer) { case "RageMP": { const { RageManagersFactory } = yield import("./factories/ragemp/RageManagersFactory"); return new RageManagersFactory(); } case "AltV": case "Mock": { throw new Error("This multiplayer type is not implemented yet on client side"); } } }); } get net() { return this._net; } get blips() { return this._blips; } get colshapes() { return this._colshapes; } get markers() { return this._markers; } get objects() { return this._objects; } get peds() { return this._peds; } get players() { return this._players; } get utils() { return this._utils; } get vehicles() { return this._vehicles; } constructor(managersFactory) { this._net = managersFactory.createNetManager(); this._blips = managersFactory.createBlipsManager(); this._colshapes = managersFactory.createColshapesManager(); this._markers = managersFactory.createMarkersManager(); this._objects = managersFactory.createObjectsManager(); this._peds = managersFactory.createPedsManager(); this._players = managersFactory.createPlayersManager(this._net); this._utils = managersFactory.createUtilsManager(); this._vehicles = managersFactory.createVehiclesManager(); } }