UNPKG

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