rock-mod
Version:
Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.
40 lines (39 loc) • 1.27 kB
JavaScript
import { RageEntitiesManager } from "../entity/RageEntitiesManager";
import { RageObject } from "./RageObject";
export class RageObjectsManager extends RageEntitiesManager {
constructor() {
super({
baseObjectsType: "object",
});
}
create(options) {
const { model, position, dimension, rotation, alpha } = options;
const mpEntity = mp.objects.new(model, new mp.Vector3(position), {
dimension,
rotation: new mp.Vector3(rotation),
alpha,
});
mpEntity.isExists = () => mp.objects.exists(mpEntity);
const object = new RageObject({ mpEntity });
this.registerBaseObject(object);
return object;
}
syncWithMpPool() {
for (const mpObject of mp.objects.toArray()) {
this.registerById(mpObject.id);
}
}
registerById(id) {
const existingObject = this.findByID(id);
if (existingObject) {
return existingObject;
}
const mpObject = mp.objects.at(id);
mpObject.isExists = () => mp.objects.exists(mpObject);
const object = new RageObject({
mpEntity: mpObject,
});
this.registerBaseObject(object);
return object;
}
}