UNPKG

rock-mod

Version:

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

44 lines (43 loc) 1.47 kB
import { RageEntitiesManager } from "../entity/RageEntitiesManager"; import { RagePlayer } from "./RagePlayer"; import { ClientInternalEventName } from "@RockMod/client/net/common/events/types"; export class RagePlayersManager extends RageEntitiesManager { constructor(net) { super({ baseObjectsType: "player", }); this._init(net); } getByName(name) { const player = this.findByName(name); if (!player) { throw new Error(`Player with name ${name} not found`); } return player; } findByName(name) { for (const player of this.iterator.all()) { if (player.name === name) { return player; } } return null; } _init(net) { net.events.onInternal({ playerJoin: (mpPlayer) => { mpPlayer.isExists = () => mp.players.exists(mpPlayer); const player = new RagePlayer({ mpEntity: mpPlayer, }); this.registerBaseObject(player); net.events.emitInternal(ClientInternalEventName.PlayerConnected, player); }, playerQuit: (mpPlayer) => { const player = this.getByID(mpPlayer.id); this.unregisterBaseObject(player); net.events.emitInternal(ClientInternalEventName.PlayerDisconnected, player); }, }); } }