rock-mod
Version:
Rock-Mod is a powerful framework designed for creating and managing mods for Grand Theft Auto (GTA) games.
24 lines (23 loc) • 1.37 kB
TypeScript
import { type IBaseObject } from "../../../entities";
import { type IDataHandler } from "../../common/dataHandler/IDataHandler";
import { type CCMPEventsManager } from "../events/CCMPEventsManager";
type DataHandlerCallback = (object: IBaseObject, value: unknown, oldValue?: unknown) => void;
/**
* Реализация `IDataHandler` под CCMP поверх `rm::syncedMetaChange`.
*
* `CCMPSyncedMetaBridge` переводит нативное событие
* `ccmp.on('streamSyncedMetaChange')` в internal-bus
* `rm::syncedMetaChange(entity, key, value, oldValue)`. Этот класс
* держит per-key реестр колбэков и диспатчит на них пришедшие изменения.
*
* Снапшот всех ключей сущности (отправляется CCMP'ом сразу после
* `StreamIn`) тоже проходит через это событие — поэтому первое появление
* сущности у клиента триггерит колбэк на каждый уже выставленный сервером
* ключ (с `oldValue === undefined`).
*/
export declare class CCMPDataHandler implements IDataHandler {
private readonly _handlers;
constructor(events: CCMPEventsManager);
addDataHandler(key: string, callback: DataHandlerCallback): void;
}
export {};