UNPKG

rock-mod

Version:

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

45 lines (44 loc) 1.5 kB
import { RageEntitiesManager } from "../entity/RageEntitiesManager"; import { RageVehicle } from "./RageVehicle"; export class RageVehiclesManager extends RageEntitiesManager { constructor() { super({ baseObjectsType: "vehicle", }); } create(options) { const { model, position, dimension, rotation, engine, locked } = options; const mpEntity = mp.vehicles.new(model, new mp.Vector3(position), { dimension, heading: rotation.z, engine, locked, }); mpEntity.rotation = new mp.Vector3(rotation); mpEntity.isExists = () => mp.vehicles.exists(mpEntity); const vehicle = new RageVehicle({ mpEntity }); this.registerBaseObject(vehicle); return vehicle; } syncWithMpPool() { for (const mpVehicle of mp.vehicles.toArray()) { this.registerById(mpVehicle.id); } } registerById(id) { const existingVehicle = this.findByID(id); if (existingVehicle) { return existingVehicle; } const mpVehicle = mp.vehicles.at(id); mpVehicle.isExists = () => mp.vehicles.exists(mpVehicle); const vehicle = new RageVehicle({ mpEntity: mpVehicle, }); this.registerBaseObject(vehicle); return vehicle; } getDisplayNameFromVehicleModel(modelHash) { return mp.game.vehicle.getDisplayNameFromVehicleModel(modelHash); } }