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