Move to Renderer V2

This commit is contained in:
duckietm
2024-04-03 09:27:56 +02:00
parent 110c3ad393
commit b3134ce50b
4080 changed files with 115593 additions and 66375 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"extends": [ "@nitrots/eslint-config" ]
}
+51
View File
@@ -0,0 +1,51 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
/out-tsc
# Only exists if Bazel was run
/bazel-out
# dependencies
/node_modules
# profiling files
chrome-profiler-events*.json
speed-measure-plugin*.json
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*
# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
/typings
.git
# System Files
.DS_Store
Thumbs.db
*.zip
*.as
*.bin
+1
View File
@@ -0,0 +1 @@
export * from './src';
+21
View File
@@ -0,0 +1,21 @@
{
"name": "@nitrots/communication",
"description": "Nitro communication module",
"version": "1.0.0",
"type": "module",
"license": "GPL-3.0",
"scripts": {
"compile": "tsc --project ./tsconfig.json --noEmit false",
"eslint": "eslint ./src --fix"
},
"main": "./index",
"dependencies": {
"@nitrots/api": "1.0.0",
"@nitrots/eslint-config": "1.0.0",
"@nitrots/events": "1.0.0",
"@nitrots/utils": "1.0.0"
},
"devDependencies": {
"typescript": "~5.4.2"
}
}
@@ -0,0 +1,97 @@
import { ICommunicationManager, IConnection, IMessageConfiguration, IMessageEvent } from '@nitrots/api';
import { GetConfiguration } from '@nitrots/configuration';
import { GetEventDispatcher, NitroEventType } from '@nitrots/events';
import { GetTickerTime } from '@nitrots/utils';
import { NitroMessages } from './NitroMessages';
import { SocketConnection } from './SocketConnection';
import { AuthenticatedEvent, ClientHelloMessageComposer, ClientPingEvent, InfoRetrieveMessageComposer, PongMessageComposer, SSOTicketMessageComposer } from './messages';
export class CommunicationManager implements ICommunicationManager
{
private _connection: IConnection = new SocketConnection();
private _messages: IMessageConfiguration = new NitroMessages();
private _pongInterval: any = null;
constructor()
{
this._connection.registerMessages(this._messages);
}
public async init(): Promise<void>
{
GetEventDispatcher().addEventListener(NitroEventType.SOCKET_CLOSED, () =>
{
this.stopPong();
});
return new Promise((resolve, reject) =>
{
GetEventDispatcher().addEventListener(NitroEventType.SOCKET_OPENED, () =>
{
if(GetConfiguration().getValue<boolean>('system.pong.manually', false)) this.startPong();
this._connection.send(new ClientHelloMessageComposer(null, null, null, null));
this._connection.send(new SSOTicketMessageComposer(GetConfiguration().getValue('sso.ticket', null), GetTickerTime()));
});
GetEventDispatcher().addEventListener(NitroEventType.SOCKET_ERROR, () =>
{
reject();
});
this._connection.addMessageEvent(new ClientPingEvent((event: ClientPingEvent) => this.sendPong()));
this._connection.addMessageEvent(new AuthenticatedEvent((event: AuthenticatedEvent) =>
{
this._connection.authenticated();
resolve();
event.connection.send(new InfoRetrieveMessageComposer());
}));
this._connection.init(GetConfiguration().getValue<string>('socket.url'));
});
}
protected startPong(): void
{
if(this._pongInterval) this.stopPong();
this._pongInterval = setInterval(() => this.sendPong(), GetConfiguration().getValue<number>('system.pong.interval.ms', 20000));
}
protected stopPong(): void
{
if(!this._pongInterval) return;
clearInterval(this._pongInterval);
this._pongInterval = null;
}
protected sendPong(): void
{
this._connection?.send(new PongMessageComposer());
}
public registerMessageEvent(event: IMessageEvent): IMessageEvent
{
if(this._connection) this._connection.addMessageEvent(event);
return event;
}
public removeMessageEvent(event: IMessageEvent): void
{
if(!this._connection) return;
this._connection.removeMessageEvent(event);
}
public get connection(): IConnection
{
return this._connection;
}
}
@@ -0,0 +1,5 @@
import { CommunicationManager } from './CommunicationManager';
const communication = new CommunicationManager();
export const GetCommunication = () => communication;
File diff suppressed because one or more lines are too long
@@ -0,0 +1,261 @@
import { ICodec, IConnection, IMessageComposer, IMessageConfiguration, IMessageDataWrapper, IMessageEvent, WebSocketEventEnum } from '@nitrots/api';
import { GetEventDispatcher, NitroEvent, NitroEventType } from '@nitrots/events';
import { NitroLogger } from '@nitrots/utils';
import { EvaWireFormat } from './codec';
import { MessageClassManager } from './messages';
export class SocketConnection implements IConnection
{
private _socket: WebSocket = null;
private _messages: MessageClassManager = new MessageClassManager();
private _codec: ICodec = new EvaWireFormat();
private _dataBuffer: ArrayBuffer = null;
private _isReady: boolean = false;
private _pendingClientMessages: IMessageComposer<unknown[]>[] = [];
private _pendingServerMessages: IMessageDataWrapper[] = [];
private _isAuthenticated: boolean = false;
public init(socketUrl: string): void
{
if(!socketUrl || !socketUrl.length) return;
this._dataBuffer = new ArrayBuffer(0);
this._socket = new WebSocket(socketUrl);
this._socket.binaryType = 'arraybuffer';
this._socket.addEventListener(WebSocketEventEnum.CONNECTION_OPENED, event => GetEventDispatcher().dispatchEvent(new NitroEvent(NitroEventType.SOCKET_OPENED)));
this._socket.addEventListener(WebSocketEventEnum.CONNECTION_CLOSED, event => GetEventDispatcher().dispatchEvent(new NitroEvent(NitroEventType.SOCKET_CLOSED)));
this._socket.addEventListener(WebSocketEventEnum.CONNECTION_ERROR, event => GetEventDispatcher().dispatchEvent(new NitroEvent(NitroEventType.SOCKET_ERROR)));
this._socket.addEventListener(WebSocketEventEnum.CONNECTION_MESSAGE, (event: MessageEvent) =>
{
this._dataBuffer = this.concatArrayBuffers(this._dataBuffer, event.data);
this.processReceivedData();
});
}
public ready(): void
{
if(this._isReady) return;
this._isReady = true;
if(this._pendingServerMessages && this._pendingServerMessages.length) this.processWrappers(...this._pendingServerMessages);
if(this._pendingClientMessages && this._pendingClientMessages.length) this.send(...this._pendingClientMessages);
this._pendingServerMessages = [];
this._pendingClientMessages = [];
}
public authenticated(): void
{
this._isAuthenticated = true;
}
public send(...composers: IMessageComposer<unknown[]>[]): boolean
{
if(!composers) return false;
composers = [...composers];
if(this._isAuthenticated && !this._isReady)
{
this._pendingClientMessages.push(...composers);
return false;
}
for(const composer of composers)
{
if(!composer) continue;
const header = this._messages.getComposerId(composer);
if(header === -1)
{
NitroLogger.packets('Unknown Composer', composer.constructor.name);
continue;
}
const message = composer.getMessageArray();
const encoded = this._codec.encode(header, message);
if(!encoded)
{
NitroLogger.packets('Encoding Failed', composer.constructor.name);
continue;
}
NitroLogger.packets('OutgoingComposer', header, composer.constructor.name, message);
this.write(encoded.getBuffer());
}
return true;
}
private write(buffer: ArrayBuffer): void
{
if(this._socket.readyState !== WebSocket.OPEN) return;
this._socket.send(buffer);
}
public processReceivedData(): void
{
try
{
this.processData();
}
catch (err)
{
NitroLogger.error(err);
}
}
private processData(): void
{
const wrappers = this.splitReceivedMessages();
if(!wrappers || !wrappers.length) return;
if(this._isAuthenticated && !this._isReady)
{
if(!this._pendingServerMessages) this._pendingServerMessages = [];
this._pendingServerMessages.push(...wrappers);
return;
}
this.processWrappers(...wrappers);
}
private processWrappers(...wrappers: IMessageDataWrapper[]): void
{
if(!wrappers || !wrappers.length) return;
for(const wrapper of wrappers)
{
if(!wrapper) continue;
const messages = this.getMessagesForWrapper(wrapper);
if(!messages || !messages.length) continue;
NitroLogger.packets('IncomingMessage', wrapper.header, messages[0].constructor.name, messages[0].parser);
this.handleMessages(...messages);
}
}
private splitReceivedMessages(): IMessageDataWrapper[]
{
if(!this._dataBuffer || !this._dataBuffer.byteLength) return null;
return this._codec.decode(this);
}
private concatArrayBuffers(buffer1: ArrayBuffer, buffer2: ArrayBuffer): ArrayBuffer
{
const array = new Uint8Array(buffer1.byteLength + buffer2.byteLength);
array.set(new Uint8Array(buffer1), 0);
array.set(new Uint8Array(buffer2), buffer1.byteLength);
return array.buffer;
}
private getMessagesForWrapper(wrapper: IMessageDataWrapper): IMessageEvent[]
{
if(!wrapper) return null;
const events = this._messages.getEvents(wrapper.header);
if(!events || !events.length)
{
NitroLogger.packets('IncomingMessage', wrapper.header, 'UNREGISTERED', wrapper);
return null;
}
try
{
//@ts-ignore
const parser = new events[0].parserClass();
if(!parser || !parser.flush() || !parser.parse(wrapper)) return null;
for(const event of events) (event.parser = parser);
}
catch (e)
{
NitroLogger.error('Error parsing message', e, events[0].constructor.name);
return null;
}
return events;
}
private handleMessages(...messages: IMessageEvent[]): void
{
messages = [...messages];
for(const message of messages)
{
if(!message) continue;
message.connection = this;
if(message.callBack) message.callBack(message);
}
}
public registerMessages(configuration: IMessageConfiguration): void
{
if(!configuration) return;
this._messages.registerMessages(configuration);
}
public addMessageEvent(event: IMessageEvent): void
{
if(!event || !this._messages) return;
this._messages.registerMessageEvent(event);
}
public removeMessageEvent(event: IMessageEvent): void
{
if(!event || !this._messages) return;
this._messages.removeMessageEvent(event);
}
public get isAuthenticated(): boolean
{
return this._isAuthenticated;
}
public get dataBuffer(): ArrayBuffer
{
return this._dataBuffer;
}
public set dataBuffer(buffer: ArrayBuffer)
{
this._dataBuffer = buffer;
}
}
+14
View File
@@ -0,0 +1,14 @@
export class Byte
{
private _value: number;
constructor(value: number)
{
this._value = value;
}
public get value(): number
{
return this._value;
}
}
+14
View File
@@ -0,0 +1,14 @@
export class Short
{
private _value: number;
constructor(value: number)
{
this._value = value;
}
public get value(): number
{
return this._value;
}
}
@@ -0,0 +1,78 @@
import { IBinaryReader, IMessageDataWrapper } from '@nitrots/api';
export class EvaWireDataWrapper implements IMessageDataWrapper
{
private _header: number;
private _buffer: IBinaryReader;
constructor(header: number, buffer: IBinaryReader)
{
this._header = header;
this._buffer = buffer;
}
public readBytes(length: number): IBinaryReader
{
if(!this._buffer) return null;
return this._buffer.readBytes(length);
}
public readByte(): number
{
if(!this._buffer) return -1;
return this._buffer.readByte();
}
public readBoolean(): boolean
{
return (this.readByte() === 1);
}
public readShort(): number
{
if(!this._buffer) return -1;
return this._buffer.readShort();
}
public readInt(): number
{
if(!this._buffer) return -1;
return this._buffer.readInt();
}
public readFloat(): number
{
if(!this._buffer) return -1;
return this._buffer.readFloat();
}
public readDouble(): number
{
if(!this._buffer) return -1;
return this._buffer.readDouble();
}
public readString(): string
{
const length = this.readShort();
const buffer = this._buffer.readBytes(length);
return buffer.toString('utf8');
}
public get header(): number
{
return this._header;
}
public get bytesAvailable(): boolean
{
return (this._buffer && (this._buffer.remaining() > 0));
}
}
@@ -0,0 +1,89 @@
import { IBinaryWriter, ICodec, IConnection, IMessageDataWrapper } from '@nitrots/api';
import { BinaryReader, BinaryWriter } from '@nitrots/utils';
import { Byte } from '../Byte';
import { Short } from '../Short';
import { EvaWireDataWrapper } from './EvaWireDataWrapper';
export class EvaWireFormat implements ICodec
{
public encode(header: number, messages: any[]): IBinaryWriter
{
const writer = new BinaryWriter();
writer.writeShort(header);
for(const value of messages)
{
let type: string = typeof value;
if(type === 'object')
{
if(value === null) type = 'null';
else if(value instanceof Byte) type = 'byte';
else if(value instanceof Short) type = 'short';
else if(value instanceof ArrayBuffer) type = 'arraybuffer';
}
switch(type)
{
case 'undefined':
case 'null':
writer.writeShort(0);
break;
case 'byte':
writer.writeByte(value.value);
break;
case 'short':
writer.writeShort(value.value);
break;
case 'number':
writer.writeInt(value);
break;
case 'boolean':
writer.writeByte(value ? 1 : 0);
break;
case 'string':
if(!value) writer.writeShort(0);
else
{
writer.writeString(value, true);
}
break;
case 'arraybuffer':
writer.writeBytes(value);
break;
}
}
const buffer = writer.getBuffer();
if(!buffer) return null;
return new BinaryWriter().writeInt(buffer.byteLength).writeBytes(buffer);
}
public decode(connection: IConnection): IMessageDataWrapper[]
{
if(!connection || !connection.dataBuffer || !connection.dataBuffer.byteLength) return null;
const wrappers: IMessageDataWrapper[] = [];
while(connection.dataBuffer.byteLength)
{
if(connection.dataBuffer.byteLength < 4) break;
const container = new BinaryReader(connection.dataBuffer);
const length = container.readInt();
if(length > (connection.dataBuffer.byteLength - 4)) break;
const extracted = container.readBytes(length);
wrappers.push(new EvaWireDataWrapper(extracted.readShort(), extracted));
connection.dataBuffer = connection.dataBuffer.slice(length + 4);
}
return wrappers;
}
}
@@ -0,0 +1,2 @@
export * from './EvaWireDataWrapper';
export * from './EvaWireFormat';
@@ -0,0 +1,3 @@
export * from './Byte';
export * from './evawire';
export * from './Short';
+235
View File
@@ -0,0 +1,235 @@
export * from './CommunicationManager';
export * from './GetCommunication';
export * from './NitroMessages';
export * from './SocketConnection';
export * from './codec';
export * from './codec/evawire';
export * from './messages';
export * from './messages/incoming';
export * from './messages/incoming/advertisement';
export * from './messages/incoming/availability';
export * from './messages/incoming/avatar';
export * from './messages/incoming/bots';
export * from './messages/incoming/callforhelp';
export * from './messages/incoming/camera';
export * from './messages/incoming/campaign';
export * from './messages/incoming/catalog';
export * from './messages/incoming/client';
export * from './messages/incoming/competition';
export * from './messages/incoming/crafting';
export * from './messages/incoming/desktop';
export * from './messages/incoming/friendlist';
export * from './messages/incoming/game';
export * from './messages/incoming/game/directory';
export * from './messages/incoming/game/lobby';
export * from './messages/incoming/game/score';
export * from './messages/incoming/generic';
export * from './messages/incoming/gifts';
export * from './messages/incoming/group';
export * from './messages/incoming/groupforums';
export * from './messages/incoming/handshake';
export * from './messages/incoming/help';
export * from './messages/incoming/inventory';
export * from './messages/incoming/inventory/achievements';
export * from './messages/incoming/inventory/avatareffect';
export * from './messages/incoming/inventory/badges';
export * from './messages/incoming/inventory/clothes';
export * from './messages/incoming/inventory/furni';
export * from './messages/incoming/inventory/furni/gifts';
export * from './messages/incoming/inventory/pets';
export * from './messages/incoming/inventory/trading';
export * from './messages/incoming/landingview';
export * from './messages/incoming/landingview/votes';
export * from './messages/incoming/marketplace';
export * from './messages/incoming/moderation';
export * from './messages/incoming/mysterybox';
export * from './messages/incoming/navigator';
export * from './messages/incoming/notifications';
export * from './messages/incoming/nux';
export * from './messages/incoming/perk';
export * from './messages/incoming/pet';
export * from './messages/incoming/pet/breeding';
export * from './messages/incoming/poll';
export * from './messages/incoming/quest';
export * from './messages/incoming/recycler';
export * from './messages/incoming/room';
export * from './messages/incoming/room/access';
export * from './messages/incoming/room/access/doorbell';
export * from './messages/incoming/room/access/rights';
export * from './messages/incoming/room/bots';
export * from './messages/incoming/room/data';
export * from './messages/incoming/room/engine';
export * from './messages/incoming/room/furniture';
export * from './messages/incoming/room/furniture/floor';
export * from './messages/incoming/room/furniture/wall';
export * from './messages/incoming/room/furniture/youtube';
export * from './messages/incoming/room/mapping';
export * from './messages/incoming/room/pet';
export * from './messages/incoming/room/session';
export * from './messages/incoming/room/unit';
export * from './messages/incoming/room/unit/chat';
export * from './messages/incoming/roomevents';
export * from './messages/incoming/roomsettings';
export * from './messages/incoming/security';
export * from './messages/incoming/sound';
export * from './messages/incoming/talent';
export * from './messages/incoming/user';
export * from './messages/incoming/user/access';
export * from './messages/incoming/user/data';
export * from './messages/incoming/user/inventory';
export * from './messages/incoming/user/inventory/currency';
export * from './messages/incoming/user/inventory/subscription';
export * from './messages/incoming/user/wardrobe';
export * from './messages/incoming/userclassification';
export * from './messages/outgoing';
export * from './messages/outgoing/advertisement';
export * from './messages/outgoing/avatar';
export * from './messages/outgoing/camera';
export * from './messages/outgoing/campaign';
export * from './messages/outgoing/catalog';
export * from './messages/outgoing/competition';
export * from './messages/outgoing/crafting';
export * from './messages/outgoing/desktop';
export * from './messages/outgoing/friendfurni';
export * from './messages/outgoing/friendlist';
export * from './messages/outgoing/game';
export * from './messages/outgoing/game/arena';
export * from './messages/outgoing/game/directory';
export * from './messages/outgoing/game/ingame';
export * from './messages/outgoing/game/lobby';
export * from './messages/outgoing/game/score';
export * from './messages/outgoing/gifts';
export * from './messages/outgoing/group';
export * from './messages/outgoing/groupforums';
export * from './messages/outgoing/handshake';
export * from './messages/outgoing/help';
export * from './messages/outgoing/inventory';
export * from './messages/outgoing/inventory/avatareffect';
export * from './messages/outgoing/inventory/badges';
export * from './messages/outgoing/inventory/bots';
export * from './messages/outgoing/inventory/furni';
export * from './messages/outgoing/inventory/pets';
export * from './messages/outgoing/inventory/trading';
export * from './messages/outgoing/inventory/unseen';
export * from './messages/outgoing/landingview';
export * from './messages/outgoing/landingview/votes';
export * from './messages/outgoing/marketplace';
export * from './messages/outgoing/moderation';
export * from './messages/outgoing/mysterybox';
export * from './messages/outgoing/navigator';
export * from './messages/outgoing/nux';
export * from './messages/outgoing/pet';
export * from './messages/outgoing/poll';
export * from './messages/outgoing/quest';
export * from './messages/outgoing/recycler';
export * from './messages/outgoing/room';
export * from './messages/outgoing/room/access';
export * from './messages/outgoing/room/action';
export * from './messages/outgoing/room/bots';
export * from './messages/outgoing/room/data';
export * from './messages/outgoing/room/engine';
export * from './messages/outgoing/room/furniture';
export * from './messages/outgoing/room/furniture/dimmer';
export * from './messages/outgoing/room/furniture/floor';
export * from './messages/outgoing/room/furniture/logic';
export * from './messages/outgoing/room/furniture/mannequin';
export * from './messages/outgoing/room/furniture/presents';
export * from './messages/outgoing/room/furniture/toner';
export * from './messages/outgoing/room/furniture/wall';
export * from './messages/outgoing/room/furniture/youtube';
export * from './messages/outgoing/room/layout';
export * from './messages/outgoing/room/pets';
export * from './messages/outgoing/room/session';
export * from './messages/outgoing/room/unit';
export * from './messages/outgoing/room/unit/chat';
export * from './messages/outgoing/roomdirectory';
export * from './messages/outgoing/roomevents';
export * from './messages/outgoing/roomsettings';
export * from './messages/outgoing/sound';
export * from './messages/outgoing/talent';
export * from './messages/outgoing/tracking';
export * from './messages/outgoing/user';
export * from './messages/outgoing/user/data';
export * from './messages/outgoing/user/inventory';
export * from './messages/outgoing/user/inventory/currency';
export * from './messages/outgoing/user/inventory/subscription';
export * from './messages/outgoing/user/settings';
export * from './messages/outgoing/userclassification';
export * from './messages/parser';
export * from './messages/parser/advertisement';
export * from './messages/parser/availability';
export * from './messages/parser/avatar';
export * from './messages/parser/bots';
export * from './messages/parser/callforhelp';
export * from './messages/parser/camera';
export * from './messages/parser/campaign';
export * from './messages/parser/catalog';
export * from './messages/parser/client';
export * from './messages/parser/competition';
export * from './messages/parser/crafting';
export * from './messages/parser/desktop';
export * from './messages/parser/friendlist';
export * from './messages/parser/game';
export * from './messages/parser/game/directory';
export * from './messages/parser/game/lobby';
export * from './messages/parser/game/score';
export * from './messages/parser/generic';
export * from './messages/parser/gifts';
export * from './messages/parser/group';
export * from './messages/parser/group/utils';
export * from './messages/parser/groupforums';
export * from './messages/parser/handshake';
export * from './messages/parser/help';
export * from './messages/parser/inventory';
export * from './messages/parser/inventory/achievements';
export * from './messages/parser/inventory/avatareffect';
export * from './messages/parser/inventory/badges';
export * from './messages/parser/inventory/clothing';
export * from './messages/parser/inventory/furniture';
export * from './messages/parser/inventory/pets';
export * from './messages/parser/inventory/purse';
export * from './messages/parser/inventory/trading';
export * from './messages/parser/landingview';
export * from './messages/parser/landingview/votes';
export * from './messages/parser/marketplace';
export * from './messages/parser/moderation';
export * from './messages/parser/mysterybox';
export * from './messages/parser/navigator';
export * from './messages/parser/navigator/utils';
export * from './messages/parser/notifications';
export * from './messages/parser/nux';
export * from './messages/parser/perk';
export * from './messages/parser/perk/common';
export * from './messages/parser/pet';
export * from './messages/parser/poll';
export * from './messages/parser/quest';
export * from './messages/parser/recycler';
export * from './messages/parser/room';
export * from './messages/parser/room/access';
export * from './messages/parser/room/access/doorbell';
export * from './messages/parser/room/access/rights';
export * from './messages/parser/room/bots';
export * from './messages/parser/room/data';
export * from './messages/parser/room/engine';
export * from './messages/parser/room/furniture';
export * from './messages/parser/room/furniture/floor';
export * from './messages/parser/room/furniture/wall';
export * from './messages/parser/room/furniture/youtube';
export * from './messages/parser/room/mapping';
export * from './messages/parser/room/pet';
export * from './messages/parser/room/session';
export * from './messages/parser/room/unit';
export * from './messages/parser/room/unit/chat';
export * from './messages/parser/roomevents';
export * from './messages/parser/roomsettings';
export * from './messages/parser/security';
export * from './messages/parser/sound';
export * from './messages/parser/talent';
export * from './messages/parser/user';
export * from './messages/parser/user/access';
export * from './messages/parser/user/data';
export * from './messages/parser/user/inventory';
export * from './messages/parser/user/inventory/currency';
export * from './messages/parser/user/inventory/subscription';
export * from './messages/parser/user/wardrobe';
export * from './messages/parser/userclassification';
@@ -0,0 +1,128 @@
import { IMessageComposer, IMessageConfiguration, IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
export class MessageClassManager
{
private _messageIdByEvent: Map<Function, number>;
private _messageIdByComposer: Map<Function, number>;
private _messageInstancesById: Map<number, IMessageEvent[]>;
constructor()
{
this._messageIdByEvent = new Map();
this._messageIdByComposer = new Map();
this._messageInstancesById = new Map();
}
public dispose(): void
{
this._messageIdByEvent.clear();
this._messageIdByComposer.clear();
this._messageInstancesById.clear();
}
public registerMessages(configuration: IMessageConfiguration): void
{
for(const [header, handler] of configuration.events) this.registerMessageEventClass(header, handler);
for(const [header, handler] of configuration.composers) this.registerMessageComposerClass(header, handler);
}
private registerMessageEventClass(header: number, handler: Function): void
{
if(!header || !handler) return;
this._messageIdByEvent.set(handler, header);
}
private registerMessageComposerClass(header: number, handler: Function): void
{
if(!header || !handler) return;
this._messageIdByComposer.set(handler, header);
}
public registerMessageEvent(event: IMessageEvent): void
{
if(!event) return;
const header = this.getEventId(event);
if(!header) return;
let existing = this._messageInstancesById.get(header);
if(!existing || !existing.length)
{
existing = [];
this._messageInstancesById.set(header, existing);
}
existing.push(event);
}
public removeMessageEvent(event: IMessageEvent): void
{
if(!event) return;
const header = this.getEventId(event);
if(!header) return;
const existing = this._messageInstancesById.get(header);
if(!existing) return;
for(const [index, message] of existing.entries())
{
if(!message) continue;
if(message !== event) continue;
existing.splice(index, 1);
if(existing.length === 0) this._messageInstancesById.delete(header);
message.dispose();
return;
}
}
public getEvents(header: number): IMessageEvent[]
{
if(!header) return;
const existing = this._messageInstancesById.get(header);
if(!existing) return;
return existing;
}
public getEventId(event: IMessageEvent): number
{
if(!event) return -1;
//@ts-ignore
const name = (event instanceof MessageEvent ? event.constructor : event) as Function;
const existing = this._messageIdByEvent.get(name);
if(!existing) return -1;
return existing;
}
public getComposerId(composer: IMessageComposer<unknown[]>): number
{
if(!composer) return -1;
const existing = this._messageIdByComposer.get(composer.constructor);
if(!existing) return -1;
return existing;
}
}
@@ -0,0 +1,473 @@
export class IncomingHeader
{
public static ACHIEVEMENT_LIST = 305;
public static AUTHENTICATED = 2491;
public static AUTHENTICATION = -1;
public static AVAILABILITY_STATUS = 2033;
public static BUILDERS_CLUB_EXPIRED = 1452;
public static CLUB_OFFERS = 2405;
public static CATALOG_PAGE = 804;
public static CATALOG_PAGE_LIST = 1032;
public static CATALOG_PURCHASE_OK = 869;
public static CATALOG_PURCHASE_ERROR = 1404;
public static CATALOG_PURCHASE_NOT_ALLOWED = 3770;
public static PRODUCT_OFFER = 3388;
public static LIMITED_SOLD_OUT = 377;
public static CATALOG_PUBLISHED = 1866;
public static CFH_RESULT_MESSAGE = 3635;
public static CLIENT_LATENCY = 10;
public static CLIENT_PING = 3928;
public static DESKTOP_CAMPAIGN = 1745;
public static DESKTOP_NEWS = 286;
public static DESKTOP_VIEW = 122;
public static BUNDLE_DISCOUNT_RULESET = 2347;
public static FIRST_LOGIN_OF_DAY = 793;
public static FURNITURE_ALIASES = 1723;
public static FURNITURE_DATA = 2547;
public static FURNITURE_FLOOR = 1778;
public static FURNITURE_FLOOR_ADD = 1534;
public static FURNITURE_FLOOR_REMOVE = 2703;
public static FURNITURE_FLOOR_UPDATE = 3776;
public static FURNITURE_ITEMDATA = 2202;
public static FURNITURE_STATE = 2376;
public static FURNITURE_GROUP_CONTEXT_MENU_INFO = 3293;
public static FURNITURE_POSTIT_STICKY_POLE_OPEN = 2366;
public static GAME_CENTER_ACHIEVEMENTS = 2265;
public static GAME_CENTER_GAME_LIST = 222;
public static GAME_CENTER_STATUS = 2893;
public static GAME_CENTER_IN_ARENA_QUEUE = 872;
public static GAME_CENTER_STOP_COUNTER = 3191;
public static GAME_CENTER_USER_LEFT_GAME = 3138;
public static GAME_CENTER_DIRECTORY_STATUS = 2246;
public static GAME_CENTER_STARTING_GAME_FAILED = 2142;
public static GAME_CENTER_JOINING_FAILED = 1730;
public static GAMESTATUSMESSAGE = 3805;
public static GAMEACHIEVEMENTS = 1689;
public static GAMEINVITE = 904;
public static JOININGQUEUEFAILED = 3035;
public static JOINEDQUEUEMESSAGE = 2260;
public static LEFTQUEUE = 1477;
public static LOAD_GAME_URL = 2624;
public static LOADGAME = 3654;
public static UNLOADGAME = 1715;
public static ACHIEVEMENTRESOLUTIONCOMPLETED = 740;
public static ACHIEVEMENTRESOLUTIONPROGRESS = 3370;
public static ACHIEVEMENTRESOLUTIONS = 66;
public static GENERIC_ALERT = 3801;
public static MODERATOR_MESSAGE = 2030;
public static GENERIC_ERROR = 1600;
public static GIFT_WRAPPER_CONFIG = 2234;
public static GROUP_BADGES = 2402;
public static GROUP_CREATE_OPTIONS = 2159;
public static GROUP_FORUM_DATA = 3011;
public static GROUP_FORUM_LIST = 3001;
public static GROUP_FORUM_THREADS = 1073;
public static GROUP_FORUM_POST = 2049;
public static GROUP_FORUM_POST_THREAD = 1862;
public static GROUP_FORUM_THREAD_MESSAGES = 509;
public static GROUP_FORUM_UNREAD_COUNT = 2379;
public static GROUP_FORUM_UPDATE_MESSAGE = 324;
public static GROUP_FORUM_UPDATE_THREAD = 2528;
public static GROUP_INFO = 1702;
public static GROUP_LIST = 420;
public static GROUP_MEMBER = 265;
public static GROUP_MEMBERS = 1200;
public static GROUP_MEMBERS_REFRESH = 2445;
public static GROUP_MEMBER_REMOVE_CONFIRM = 1876;
public static GROUP_PURCHASED = 2808;
public static GROUP_SETTINGS = 3965;
public static GROUP_BADGE_PARTS = 2238;
public static GROUP_MEMBERSHIP_REQUESTED = 1180;
public static GROUP_DETAILS_CHANGED = 1459;
public static GROUP_HABBO_JOIN_FAILED = 762;
public static GUILD_EDIT_FAILED = 3988;
public static GUILD_MEMBER_MGMT_FAILED = 818;
public static ITEM_DIMMER_SETTINGS = 2710;
public static ITEM_STACK_HELPER = 2816;
public static ITEM_WALL = 1369;
public static ITEM_WALL_ADD = 2187;
public static ITEM_WALL_REMOVE = 3208;
public static ITEM_WALL_UPDATE = 2009;
public static MARKETPLACE_CONFIG = 1823;
public static MESSENGER_ACCEPT_FRIENDS = 896;
public static MESSENGER_CHAT = 1587;
public static MESSENGER_FIND_FRIENDS = 1210;
public static MESSENGER_FOLLOW_FAILED = 3048;
public static MESSENGER_FRIEND_NOTIFICATION = 3082;
public static MESSENGER_FRIENDS = 3130;
public static MESSENGER_INIT = 1605;
public static MESSENGER_INSTANCE_MESSAGE_ERROR = 3359;
public static MESSENGER_INVITE = 3870;
public static MESSENGER_INVITE_ERROR = 462;
public static MESSENGER_MESSAGE_ERROR = 892;
public static MESSENGER_MINIMAIL_COUNT = 2803;
public static MESSENGER_MINIMAIL_NEW = 1911;
public static MESSENGER_RELATIONSHIPS = 2016;
public static MESSENGER_REQUEST = 2219;
public static MESSENGER_REQUEST_ERROR = 892;
public static MESSENGER_REQUESTS = 280;
public static MESSENGER_SEARCH = 973;
public static MESSENGER_UPDATE = 2800;
public static MODERATION_REPORT_DISABLED = 1651;
public static MODERATION_TOOL = 2696;
public static MODERATION_USER_INFO = 2866;
public static MOTD_MESSAGES = 2035;
public static NAVIGATOR_CATEGORIES = 1562;
public static NAVIGATOR_COLLAPSED = 1543;
public static NAVIGATOR_EVENT_CATEGORIES = 3244;
public static NAVIGATOR_LIFTED = 3104;
public static NAVIGATOR_METADATA = 3052;
public static NAVIGATOR_OPEN_ROOM_CREATOR = 2064;
public static NAVIGATOR_SEARCH = 2690;
public static NAVIGATOR_SEARCHES = 3984;
public static NAVIGATOR_SETTINGS = 518;
public static THUMBNAIL_UPDATE_RESULT = 1927;
public static CAN_CREATE_ROOM = 378;
public static CATEGORIES_WITH_VISITOR_COUNT = 1455;
public static COMPETITION_ROOMS_DATA = 3954;
public static CONVERTED_ROOM_ID = 1331;
public static GUEST_ROOM_SEARCH_RESULT = 52;
public static NOTIFICATION_LIST = 1992;
public static NOTIFICATION_OFFER_REWARD_DELIVERED = 2125;
public static NOTIFICATION_SIMPLE_ALERT = 5100;
public static NOTIFICATION_ELEMENT_POINTER = 1787;
public static PET_FIGURE_UPDATE = 1924;
public static PET_INFO = 2901;
public static PET_TRAINING_PANEL = 1164;
public static PET_LEVEL_UPDATE = 2824;
public static PET_SCRATCH_FAILED = 1130;
public static PET_OPEN_PACKAGE_REQUESTED = 2380;
public static PET_OPEN_PACKAGE_RESULT = 546;
public static PET_BREEDING = 1746;
public static PET_CONFIRM_BREEDING_RESULT = 1625;
public static PET_GO_TO_BREEDING_NEST_FAILURE = 2621;
public static PET_NEST_BREEDING_SUCCESS = 2527;
public static PET_CONFIRM_BREEDING_REQUEST = 634;
public static PET_BREEDING_RESULT = 1553;
public static RECYCLER_PRIZES = 3164;
public static RECYCLER_STATUS = 3433;
public static RECYCLER_FINISHED = 468;
public static ROOM_BAN_LIST = 1869;
public static ROOM_BAN_REMOVE = 3429;
public static ROOM_CREATED = 1304;
public static ROOM_DOORBELL = 2309;
public static ROOM_DOORBELL_ACCEPTED = 3783;
public static ROOM_DOORBELL_REJECTED = 878;
public static ROOM_ENTER = 758;
public static ROOM_ENTER_ERROR = 899;
public static ROOM_FORWARD = 160;
public static ROOM_HEIGHT_MAP = 2753;
public static ROOM_HEIGHT_MAP_UPDATE = 558;
public static ROOM_INFO = 687;
public static ROOM_INFO_OWNER = 749;
public static ROOM_MODEL = 1301;
public static ROOM_MODEL_BLOCKED_TILES = 3990;
public static ROOM_MODEL_DOOR = 1664;
public static ROOM_MODEL_NAME = 2031;
public static ROOM_MUTED = 2533;
public static ROOM_MUTE_USER = 826;
public static ROOM_PAINT = 2454;
public static ROOM_PROMOTION = 2274;
public static ROOM_QUEUE_STATUS = 2208;
public static ROOM_RIGHTS = 780;
public static ROOM_RIGHTS_CLEAR = 2392;
public static ROOM_RIGHTS_LIST = 1284;
public static ROOM_RIGHTS_LIST_ADD = 2088;
public static ROOM_RIGHTS_LIST_REMOVE = 1327;
public static ROOM_RIGHTS_OWNER = 339;
public static ROOM_ROLLING = 3207;
public static ROOM_SCORE = 482;
public static ROOM_SETTINGS = 1498;
public static ROOM_SETTINGS_CHAT = 1191;
public static ROOM_SETTINGS_SAVE = 948;
public static ROOM_SETTINGS_SAVE_ERROR = 1555;
public static ROOM_INFO_UPDATED = 3297;
public static ROOM_SPECTATOR = 1033;
public static ROOM_THICKNESS = 3547;
public static ROOM_GET_FILTER_WORDS = 2937;
public static ROOM_MESSAGE_NOTIFICATION = 1634;
public static ROOM_POPULAR_TAGS_RESULT = 2012;
public static INFO_FEED_ENABLE = 3284;
public static SECURITY_MACHINE = 1488;
public static MYSTERY_BOX_KEYS = 2833;
public static GOTMYSTERYBOXPRIZEMESSAGE = 3712;
public static CANCELMYSTERYBOXWAITMESSAGE = 596;
public static SHOWMYSTERYBOXWAITMESSAGE = 3201;
public static TRADE_ACCEPTED = 2568;
public static TRADE_CLOSED = 1373;
public static TRADE_COMPLETED = 1001;
public static TRADE_CONFIRMATION = 2720;
public static TRADE_LIST_ITEM = 2024;
public static TRADE_NOT_OPEN = 3128;
public static TRADE_OPEN = 2505;
public static TRADE_OPEN_FAILED = 217;
public static TRADE_OTHER_NOT_ALLOWED = 1254;
public static TRADE_YOU_NOT_ALLOWED = 3058;
public static TRADE_NO_SUCH_ITEM = 2873;
public static UNIT = 374;
public static UNIT_CHANGE_NAME = 2182;
public static UNIT_CHAT = 1446;
public static UNIT_CHAT_SHOUT = 1036;
public static UNIT_CHAT_WHISPER = 2704;
public static UNIT_DANCE = 2233;
public static UNIT_EFFECT = 1167;
public static UNIT_EXPRESSION = 1631;
public static UNIT_HAND_ITEM = 1474;
public static UNIT_IDLE = 1797;
public static UNIT_INFO = 3920;
public static UNIT_NUMBER = 2324;
public static UNIT_REMOVE = 2661;
public static UNIT_STATUS = 1640;
public static UNIT_TYPING = 1717;
public static UNSEEN_ITEMS = 2103;
public static USER_ACHIEVEMENT_SCORE = 1968;
public static USER_BADGES = 717;
public static USER_BADGES_ADD = 2493;
public static USER_BADGES_CURRENT = 1087;
public static USER_BOT_REMOVE = 233;
public static USER_BOTS = 3086;
public static USER_CHANGE_NAME = 118;
public static USER_CLOTHING = 1450;
public static USER_CREDITS = 3475;
public static USER_CURRENCY = 2018;
public static ACTIVITY_POINT_NOTIFICATION = 2275;
public static USER_EFFECTS = 340;
public static USER_FAVORITE_ROOM = 2524;
public static USER_FAVORITE_ROOM_COUNT = 151;
public static USER_FIGURE = 2429;
public static USER_FURNITURE = 994;
public static USER_FURNITURE_ADD = 104;
public static USER_FURNITURE_POSTIT_PLACED = 1501;
public static USER_FURNITURE_REFRESH = 3151;
public static USER_FURNITURE_REMOVE = 159;
public static USER_HOME_ROOM = 2875;
public static ROOM_EVENT_CANCEL = 3479;
public static ROOM_EVENT = 1840;
public static USER_IGNORED = 126;
public static USER_IGNORED_RESULT = 207;
public static USER_INFO = 2725;
public static USER_OUTFITS = 3315;
public static USER_PERKS = 2586;
public static USER_PERMISSIONS = 411;
public static USER_PET_ADD = 2101;
public static USER_PET_REMOVE = 3253;
public static USER_PETS = 3522;
public static USER_PROFILE = 3898;
public static USER_RESPECT = 2815;
public static USER_SANCTION_STATUS = 3679;
public static USER_SETTINGS = 513;
public static USER_SUBSCRIPTION = 954;
public static USER_WARDROBE_PAGE = 3315;
public static USER_CLASSIFICATION = 966;
public static GET_USER_TAGS = 1255;
public static WIRED_ACTION = 1434;
public static WIRED_CONDITION = 1108;
public static WIRED_ERROR = 156;
public static WIRED_OPEN = 1830;
public static WIRED_REWARD = 178;
public static WIRED_SAVE = 1155;
public static WIRED_TRIGGER = 383;
public static PLAYING_GAME = 448;
public static FURNITURE_STATE_2 = 3431;
public static REMOVE_BOT_FROM_INVENTORY = 233;
public static ADD_BOT_TO_INVENTORY = 1352;
public static ACHIEVEMENT_PROGRESSED = 2107;
public static MODTOOL_ROOM_INFO = 1333;
public static MODTOOL_USER_CHATLOG = 3377;
public static MODTOOL_ROOM_CHATLOG = 3434;
public static MODTOOL_VISITED_ROOMS_USER = 1752;
public static MODERATOR_ACTION_RESULT = 2335;
public static ISSUE_DELETED = 3192;
public static ISSUE_INFO = 3609;
public static ISSUE_PICK_FAILED = 3150;
public static CFH_CHATLOG = 607;
public static MODERATOR_TOOL_PREFERENCES = 1576;
public static LOVELOCK_FURNI_START = 3753;
public static LOVELOCK_FURNI_FRIEND_COMFIRMED = 382;
public static LOVELOCK_FURNI_FINISHED = 770;
public static GIFT_RECEIVER_NOT_FOUND = 1517;
public static GIFT_OPENED = 56;
public static FLOOD_CONTROL = 566;
public static REMAINING_MUTE = 826;
public static USER_EFFECT_LIST = 340;
public static USER_EFFECT_LIST_ADD = 2867;
public static USER_EFFECT_LIST_REMOVE = 2228;
public static USER_EFFECT_ACTIVATE = 1959;
public static AVATAR_EFFECT_SELECTED = 3473;
public static CLUB_GIFT_INFO = 619;
public static REDEEM_VOUCHER_ERROR = 714;
public static REDEEM_VOUCHER_OK = 3336;
public static IN_CLIENT_LINK = 2023;
public static BOT_COMMAND_CONFIGURATION = 1618;
public static BOT_SKILL_LIST_UPDATE = 69;
public static BOT_FORCE_OPEN_CONTEXT_MENU = 296;
public static HAND_ITEM_RECEIVED = 354;
public static PET_PLACING_ERROR = 2913;
public static BOT_ERROR = 639;
public static MARKETPLACE_SELL_ITEM = 54;
public static MARKETPLACE_ITEM_STATS = 725;
public static MARKETPLACE_OWN_ITEMS = 3884;
public static MARKETPLACE_CANCEL_SALE = 3264;
public static MARKETPLACE_ITEM_POSTED = 1359;
public static MARKETPLACE_ITEMS_SEARCHED = 680;
public static MARKETPLACE_AFTER_ORDER_STATUS = 2032;
public static CATALOG_RECEIVE_PET_BREEDS = 3331;
public static CATALOG_APPROVE_NAME_RESULT = 1503;
public static OBJECTS_DATA_UPDATE = 1453;
public static PET_EXPERIENCE = 2156;
public static COMMUNITY_GOAL_VOTE_EVENT = 1435;
public static PROMO_ARTICLES = 286;
public static COMMUNITY_GOAL_EARNED_PRIZES = 3319;
public static COMMUNITY_GOAL_PROGRESS = 2525;
public static CONCURRENT_USERS_GOAL_PROGRESS = 2737;
public static QUEST_DAILY = 1878;
public static QUEST_CANCELLED = 3027;
public static QUEST_COMPLETED = 949;
public static COMMUNITY_GOAL_HALL_OF_FAME = 3005;
public static EPIC_POPUP = 3945;
public static SEASONAL_QUESTS = 1122;
public static QUESTS = 3625;
public static QUEST = 230;
public static BONUS_RARE_INFO = 1533;
public static CRAFTABLE_PRODUCTS = 1000;
public static CRAFTING_RECIPE = 2774;
public static CRAFTING_RECIPES_AVAILABLE = 2124;
public static CRAFTING_RESULT = 618;
public static CAMERA_PUBLISH_STATUS = 2057;
public static CAMERA_PURCHASE_OK = 2783;
public static CAMERA_STORAGE_URL = 3696;
public static CAMERA_SNAPSHOT = 463;
public static COMPETITION_STATUS = 133;
public static INIT_CAMERA = 3878;
public static THUMBNAIL_STATUS = 3595;
public static ACHIEVEMENT_NOTIFICATION = 806;
public static CLUB_GIFT_NOTIFICATION = 2188;
public static INTERSTITIAL_MESSAGE = 1808;
public static ROOM_AD_ERROR = 1759;
public static AVAILABILITY_TIME = 600;
public static HOTEL_CLOSED_AND_OPENS = 3728;
public static HOTEL_CLOSES_AND_OPENS_AT = 2771;
public static HOTEL_WILL_CLOSE_MINUTES = 1050;
public static HOTEL_MAINTENANCE = 1350;
public static JUKEBOX_PLAYLIST_FULL = 105;
public static JUKEBOX_SONG_DISKS = 34;
public static NOW_PLAYING = 469;
public static OFFICIAL_SONG_ID = 1381;
public static PLAYLIST = 1748;
public static PLAYLIST_SONG_ADDED = 1140;
public static TRAX_SONG_INFO = 3365;
public static USER_SONG_DISKS_INVENTORY = 2602;
public static CHECK_USER_NAME = 563;
public static CFH_SANCTION = 2782;
public static CFH_TOPICS = 325;
public static CFH_SANCTION_STATUS = 2221;
public static CAMPAIGN_CALENDAR_DATA = 2531;
public static CAMPAIGN_CALENDAR_DOOR_OPENED = 2551;
public static BUILDERS_CLUB_FURNI_COUNT = 3828;
public static BUILDERS_CLUB_SUBSCRIPTION = 1452;
public static CATALOG_PAGE_EXPIRATION = 2668;
public static CATALOG_EARLIEST_EXPIRY = 2515;
public static CLUB_GIFT_SELECTED = 659;
public static TARGET_OFFER_NOT_FOUND = 1237;
public static TARGET_OFFER = 119;
public static DIRECT_SMS_CLUB_BUY = 195;
public static ROOM_AD_PURCHASE = 2468;
public static NOT_ENOUGH_BALANCE = 3914;
public static LIMITED_OFFER_APPEARING_NEXT = 44;
public static IS_OFFER_GIFTABLE = 761;
public static CLUB_EXTENDED_OFFER = 3964;
public static SEASONAL_CALENDAR_OFFER = 1889;
public static COMPETITION_ENTRY_SUBMIT = 1177;
public static COMPETITION_VOTING_INFO = 3506;
public static COMPETITION_TIMING_CODE = 1745;
public static COMPETITION_USER_PART_OF = 3841;
public static COMPETITION_NO_OWNED_ROOMS = 2064;
public static COMPETITION_SECONDS_UNTIL = 3926;
public static BADGE_POINT_LIMITS = 2501;
public static BADGE_REQUEST_FULFILLED = 2998;
public static HELPER_TALENT_TRACK = 3406;
public static TALENT_TRACK_LEVEL = 1203;
public static TALENT_TRACK_LEVEL_UP = 638;
public static USER_BANNED = 1683;
public static BOT_RECEIVED = 3684;
public static PET_LEVEL_NOTIFICATION = 859;
public static PET_RECEIVED = 1111;
public static MODERATION_CAUTION = 1890;
public static YOUTUBE_CONTROL_VIDEO = 1554;
public static YOUTUBE_DISPLAY_PLAYLISTS = 1112;
public static YOUTUBE_DISPLAY_VIDEO = 1411;
public static CFH_DISABLED_NOTIFY = 1651;
public static QUESTION = 2665;
public static POLL_CONTENTS = 2997;
public static POLL_ERROR = 662;
public static POLL_OFFER = 3785;
public static POLL_ROOM_RESULT = 5201;
public static POLL_START_ROOM = 5200;
public static QUESTION_ANSWERED = 2589;
public static QUESTION_FINISHED = 1066;
public static CFH_PENDING_CALLS = 1121;
public static GUIDE_ON_DUTY_STATUS = 1548;
public static GUIDE_SESSION_ATTACHED = 1591;
public static GUIDE_SESSION_DETACHED = 138;
public static GUIDE_SESSION_ENDED = 1456;
public static GUIDE_SESSION_ERROR = 673;
public static GUIDE_SESSION_INVITED_TO_GUIDE_ROOM = 219;
public static GUIDE_SESSION_MESSAGE = 841;
public static GUIDE_SESSION_PARTNER_IS_TYPING = 1016;
public static GUIDE_SESSION_REQUESTER_ROOM = 1847;
public static GUIDE_SESSION_STARTED = 3209;
public static GUIDE_TICKET_CREATION_RESULT = 3285;
public static GUIDE_TICKET_RESOLUTION = 2674;
public static GUIDE_REPORTING_STATUS = 3463;
public static HOTEL_MERGE_NAME_CHANGE = 1663;
public static ISSUE_CLOSE_NOTIFICATION = 934;
public static QUIZ_DATA = 2927;
public static QUIZ_RESULTS = 2772;
public static CFH_PENDING_CALLS_DELETED = 77;
public static CFH_REPLY = 3796;
public static CHAT_REVIEW_SESSION_DETACHED = 30;
public static CHAT_REVIEW_SESSION_OFFERED_TO_GUIDE = 735;
public static CHAT_REVIEW_SESSION_RESULTS = 3276;
public static CHAT_REVIEW_SESSION_STARTED = 143;
public static CHAT_REVIEW_SESSION_VOTING_STATUS = 1829;
public static SCR_SEND_KICKBACK_INFO = 3277;
public static PET_STATUS = 1907;
public static GROUP_DEACTIVATE = 3129;
public static PET_RESPECTED = 2788;
public static PET_SUPPLEMENT = 3441;
public static NOOBNESS_LEVEL = 3738;
public static DISCONNECT_REASON = 4000;
public static CAN_CREATE_ROOM_EVENT = 2599;
public static FAVORITE_GROUP_UDPATE = 3403;
public static NO_SUCH_FLAT = 84;
public static ROOM_SETTINGS_ERROR = 2897;
public static SHOW_ENFORCE_ROOM_CATEGORY = 3896;
public static CUSTOM_USER_NOTIFICATION = 909;
public static NEW_USER_EXPERIENCE_GIFT_OFFER = 3575;
public static RESTORE_CLIENT = 426;
public static FIREWORK_CHARGE_DATA = 5210;
public static NEW_USER_EXPERIENCE_NOT_COMPLETE = 3639;
public static CONNECTION_ERROR = 1004;
public static ACCOUNT_SAFETY_LOCK_STATUS_CHANGE = 1243;
public static PHONE_COLLECTION_STATE = 2890;
public static PHONE_TRY_NUMBER_RESULT = 800;
public static PHONE_TRY_VERIFICATION_CODE_RESULT = 91;
public static EXTENDED_PROFILE_CHANGED = 876;
public static WELCOME_GIFT_CHANGE_EMAIL_RESULT = 2293;
public static WELCOME_GIFT_STATUS = 2707;
public static HANDSHAKE_INIT_DIFFIE = 1347;
public static HANDSHAKE_COMPLETE_DIFFIE = 3885;
public static RENTABLE_SPACE_RENT_OK = 2046;
public static RENTABLE_SPACE_STATUS = 3559;
public static RENTABLE_SPACE_RENT_FAILED = 1868;
public static EMAIL_STATUS = 612;
public static CHANGE_EMAIL_RESULT = 1815;
public static WEEKLY_GAME_REWARD = 2641;
public static WEEKLY_GAME_REWARD_WINNERS = 3097;
public static WEEKLY_COMPETITIVE_LEADERBOARD = 3512;
public static WEEKLY_COMPETITIVE_FRIENDS_LEADERBOARD = 3560;
public static WEEKLY_GAME2_FRIENDS_LEADERBOARD = 2270;
public static WEEKLY_GAME2_LEADERBOARD = 2196;
public static RENTABLE_FURNI_RENT_OR_BUYOUT_OFFER = 35;
public static HANDSHAKE_IDENTITY_ACCOUNT = 3523;
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { InterstitialMessageParser } from '../../parser';
export class InterstitialMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, InterstitialMessageParser);
}
public getParser(): InterstitialMessageParser
{
return this.parser as InterstitialMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { RoomAdErrorMessageParser } from '../../parser';
export class RoomAdErrorEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, RoomAdErrorMessageParser);
}
public getParser(): RoomAdErrorMessageParser
{
return this.parser as RoomAdErrorMessageParser;
}
}
@@ -0,0 +1,2 @@
export * from './InterstitialMessageEvent';
export * from './RoomAdErrorEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { AvailabilityStatusMessageParser } from '../../parser';
export class AvailabilityStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, AvailabilityStatusMessageParser);
}
public getParser(): AvailabilityStatusMessageParser
{
return this.parser as AvailabilityStatusMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { AvailabilityTimeMessageParser } from '../../parser';
export class AvailabilityTimeMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, AvailabilityTimeMessageParser);
}
public getParser(): AvailabilityTimeMessageParser
{
return this.parser as AvailabilityTimeMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { HotelClosedAndOpensMessageParser } from '../../parser';
export class HotelClosedAndOpensEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HotelClosedAndOpensMessageParser);
}
public getParser(): HotelClosedAndOpensMessageParser
{
return this.parser as HotelClosedAndOpensMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { HotelClosesAndWillOpenAtMessageParser } from '../../parser';
export class HotelClosesAndWillOpenAtEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HotelClosesAndWillOpenAtMessageParser);
}
public getParser(): HotelClosesAndWillOpenAtMessageParser
{
return this.parser as HotelClosesAndWillOpenAtMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { HotelWillCloseInMinutesMessageParser } from '../../parser';
export class HotelWillCloseInMinutesEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HotelWillCloseInMinutesMessageParser);
}
public getParser(): HotelWillCloseInMinutesMessageParser
{
return this.parser as HotelWillCloseInMinutesMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { MaintenanceStatusMessageParser } from '../../parser';
export class MaintenanceStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, MaintenanceStatusMessageParser);
}
public getParser(): MaintenanceStatusMessageParser
{
return this.parser as MaintenanceStatusMessageParser;
}
}
@@ -0,0 +1,6 @@
export * from './AvailabilityStatusMessageEvent';
export * from './AvailabilityTimeMessageEvent';
export * from './HotelClosedAndOpensEvent';
export * from './HotelClosesAndWillOpenAtEvent';
export * from './HotelWillCloseInMinutesEvent';
export * from './MaintenanceStatusMessageEvent';
@@ -0,0 +1,25 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { ChangeUserNameResultMessageParser } from '../../parser';
export class ChangeUserNameResultMessageEvent extends MessageEvent implements IMessageEvent
{
public static NAME_OK: number = 0;
public static ERROR_NAME_REQUIRED: number = 1;
public static ERROR_NAME_TOO_SHORT: number = 2;
public static ERROR_NAME_TOO_LONG: number = 3;
public static ERROR_NAME_NOT_VALID: number = 4;
public static ERROR_NAME_IN_USE: number = 5;
public static ERROR_NAME_CHANGE_NOT_ALLOWED: number = 6;
public static ERROR_MERGE_HOTEL_DOWN: number = 7;
constructor(callBack: Function)
{
super(callBack, ChangeUserNameResultMessageParser);
}
public getParser(): ChangeUserNameResultMessageParser
{
return this.parser as ChangeUserNameResultMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CheckUserNameResultMessageParser } from '../../parser';
export class CheckUserNameResultMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CheckUserNameResultMessageParser);
}
public getParser(): CheckUserNameResultMessageParser
{
return this.parser as CheckUserNameResultMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { FigureUpdateParser } from '../../parser';
export class FigureUpdateEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, FigureUpdateParser);
}
public getParser(): FigureUpdateParser
{
return this.parser as FigureUpdateParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { WardrobeMessageParser } from '../../parser';
export class WardrobeMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, WardrobeMessageParser);
}
public getParser(): WardrobeMessageParser
{
return this.parser as WardrobeMessageParser;
}
}
@@ -0,0 +1,4 @@
export * from './ChangeUserNameResultMessageEvent';
export * from './CheckUserNameResultMessageEvent';
export * from './FigureUpdateEvent';
export * from './WardrobeMessageEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BotAddedToInventoryParser } from '../../parser';
export class BotAddedToInventoryEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BotAddedToInventoryParser);
}
public getParser(): BotAddedToInventoryParser
{
return this.parser as BotAddedToInventoryParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BotInventoryMessageParser } from '../../parser';
export class BotInventoryMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BotInventoryMessageParser);
}
public getParser(): BotInventoryMessageParser
{
return this.parser as BotInventoryMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BotReceivedMessageParser } from '../../parser';
export class BotReceivedMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BotReceivedMessageParser);
}
public getParser(): BotReceivedMessageParser
{
return this.parser as BotReceivedMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BotRemovedFromInventoryParser } from '../../parser';
export class BotRemovedFromInventoryEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BotRemovedFromInventoryParser);
}
public getParser(): BotRemovedFromInventoryParser
{
return this.parser as BotRemovedFromInventoryParser;
}
}
@@ -0,0 +1,4 @@
export * from './BotAddedToInventoryEvent';
export * from './BotInventoryMessageEvent';
export * from './BotReceivedMessageEvent';
export * from './BotRemovedFromInventoryEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CfhSanctionMessageParser } from '../../parser';
export class CfhSanctionMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CfhSanctionMessageParser);
}
public getParser(): CfhSanctionMessageParser
{
return this.parser as CfhSanctionMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CfhTopicsInitMessageParser } from '../../parser';
export class CfhTopicsInitEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CfhTopicsInitMessageParser);
}
public getParser(): CfhTopicsInitMessageParser
{
return this.parser as CfhTopicsInitMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { SanctionStatusMessageParser } from '../../parser';
export class SanctionStatusEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, SanctionStatusMessageParser);
}
public getParser(): SanctionStatusMessageParser
{
return this.parser as SanctionStatusMessageParser;
}
}
@@ -0,0 +1,3 @@
export * from './CfhSanctionMessageEvent';
export * from './CfhTopicsInitEvent';
export * from './SanctionStatusEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CameraPublishStatusMessageParser } from '../../parser';
export class CameraPublishStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CameraPublishStatusMessageParser);
}
public getParser(): CameraPublishStatusMessageParser
{
return this.parser as CameraPublishStatusMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CameraPurchaseOKMessageParser } from '../../parser';
export class CameraPurchaseOKMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CameraPurchaseOKMessageParser);
}
public getParser(): CameraPurchaseOKMessageParser
{
return this.parser as CameraPurchaseOKMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CameraSnapshotMessageParser } from '../../parser';
export class CameraSnapshotMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CameraSnapshotMessageParser);
}
public getParser(): CameraSnapshotMessageParser
{
return this.parser as CameraSnapshotMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CameraStorageUrlMessageParser } from '../../parser';
export class CameraStorageUrlMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CameraStorageUrlMessageParser);
}
public getParser(): CameraStorageUrlMessageParser
{
return this.parser as CameraStorageUrlMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CompetitionStatusMessageParser } from '../../parser';
export class CompetitionStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CompetitionStatusMessageParser);
}
public getParser(): CompetitionStatusMessageParser
{
return this.parser as CompetitionStatusMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { InitCameraMessageParser } from '../../parser';
export class InitCameraMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, InitCameraMessageParser);
}
public getParser(): InitCameraMessageParser
{
return this.parser as InitCameraMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { ThumbnailStatusMessageParser } from '../../parser';
export class ThumbnailStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ThumbnailStatusMessageParser);
}
public getParser(): ThumbnailStatusMessageParser
{
return this.parser as ThumbnailStatusMessageParser;
}
}
@@ -0,0 +1,7 @@
export * from './CameraPublishStatusMessageEvent';
export * from './CameraPurchaseOKMessageEvent';
export * from './CameraSnapshotMessageEvent';
export * from './CameraStorageUrlMessageEvent';
export * from './CompetitionStatusMessageEvent';
export * from './InitCameraMessageEvent';
export * from './ThumbnailStatusMessageEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CampaignCalendarDataMessageParser } from '../../parser';
export class CampaignCalendarDataMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CampaignCalendarDataMessageParser);
}
public getParser(): CampaignCalendarDataMessageParser
{
return this.parser as CampaignCalendarDataMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CampaignCalendarDoorOpenedMessageParser } from '../../parser';
export class CampaignCalendarDoorOpenedMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CampaignCalendarDoorOpenedMessageParser);
}
public getParser(): CampaignCalendarDoorOpenedMessageParser
{
return this.parser as CampaignCalendarDoorOpenedMessageParser;
}
}
@@ -0,0 +1,2 @@
export * from './CampaignCalendarDataMessageEvent';
export * from './CampaignCalendarDoorOpenedMessageEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BonusRareInfoMessageParser } from '../../parser';
export class BonusRareInfoMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BonusRareInfoMessageParser);
}
public getParser(): BonusRareInfoMessageParser
{
return this.parser as BonusRareInfoMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BuildersClubFurniCountMessageParser } from '../../parser';
export class BuildersClubFurniCountMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BuildersClubFurniCountMessageParser);
}
public getParser(): BuildersClubFurniCountMessageParser
{
return this.parser as BuildersClubFurniCountMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BuildersClubSubscriptionStatusMessageParser } from '../../parser';
export class BuildersClubSubscriptionStatusMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BuildersClubSubscriptionStatusMessageParser);
}
public getParser(): BuildersClubSubscriptionStatusMessageParser
{
return this.parser as BuildersClubSubscriptionStatusMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { BundleDiscountRulesetMessageParser } from '../../parser';
export class BundleDiscountRulesetMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, BundleDiscountRulesetMessageParser);
}
public getParser(): BundleDiscountRulesetMessageParser
{
return this.parser as BundleDiscountRulesetMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogPageExpirationParser } from '../../parser';
export class CatalogPageExpirationEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogPageExpirationParser);
}
public getParser(): CatalogPageExpirationParser
{
return this.parser as CatalogPageExpirationParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogPageMessageParser } from '../../parser';
export class CatalogPageMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogPageMessageParser);
}
public getParser(): CatalogPageMessageParser
{
return this.parser as CatalogPageMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogPageWithEarliestExpiryMessageParser } from '../../parser';
export class CatalogPageWithEarliestExpiryMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogPageWithEarliestExpiryMessageParser);
}
public getParser(): CatalogPageWithEarliestExpiryMessageParser
{
return this.parser as CatalogPageWithEarliestExpiryMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogIndexMessageParser } from '../../parser';
export class CatalogPagesListEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogIndexMessageParser);
}
public getParser(): CatalogIndexMessageParser
{
return this.parser as CatalogIndexMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CatalogPublishedMessageParser } from '../../parser';
export class CatalogPublishedMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CatalogPublishedMessageParser);
}
public getParser(): CatalogPublishedMessageParser
{
return this.parser as CatalogPublishedMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { ClubGiftInfoParser } from '../../parser';
export class ClubGiftInfoEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ClubGiftInfoParser);
}
public getParser(): ClubGiftInfoParser
{
return this.parser as ClubGiftInfoParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { ClubGiftSelectedParser } from '../../parser';
export class ClubGiftSelectedEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ClubGiftSelectedParser);
}
public getParser(): ClubGiftSelectedParser
{
return this.parser as ClubGiftSelectedParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { DirectSMSClubBuyAvailableMessageParser } from '../../parser';
export class DirectSMSClubBuyAvailableMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, DirectSMSClubBuyAvailableMessageParser);
}
public getParser(): DirectSMSClubBuyAvailableMessageParser
{
return this.parser as DirectSMSClubBuyAvailableMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { FireworkChargeDataParser } from '../../parser';
export class FireworkChargeDataEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, FireworkChargeDataParser);
}
public getParser(): FireworkChargeDataParser
{
return this.parser as FireworkChargeDataParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { GiftReceiverNotFoundParser } from '../../parser';
export class GiftReceiverNotFoundEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, GiftReceiverNotFoundParser);
}
public getParser(): GiftReceiverNotFoundParser
{
return this.parser as GiftReceiverNotFoundParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { GiftWrappingConfigurationParser } from '../../parser';
export class GiftWrappingConfigurationEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, GiftWrappingConfigurationParser);
}
public getParser(): GiftWrappingConfigurationParser
{
return this.parser as GiftWrappingConfigurationParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { HabboClubExtendOfferMessageParser } from '../../parser';
export class HabboClubExtendOfferMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HabboClubExtendOfferMessageParser);
}
public getParser(): HabboClubExtendOfferMessageParser
{
return this.parser as HabboClubExtendOfferMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { HabboClubOffersMessageParser } from '../../parser';
export class HabboClubOffersMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, HabboClubOffersMessageParser);
}
public getParser(): HabboClubOffersMessageParser
{
return this.parser as HabboClubOffersMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { IsOfferGiftableMessageParser } from '../../parser';
export class IsOfferGiftableMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, IsOfferGiftableMessageParser);
}
public getParser(): IsOfferGiftableMessageParser
{
return this.parser as IsOfferGiftableMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { LimitedEditionSoldOutParser } from '../../parser';
export class LimitedEditionSoldOutEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, LimitedEditionSoldOutParser);
}
public getParser(): LimitedEditionSoldOutParser
{
return this.parser as LimitedEditionSoldOutParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { LimitedOfferAppearingNextMessageParser } from '../../parser';
export class LimitedOfferAppearingNextMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, LimitedOfferAppearingNextMessageParser);
}
public getParser(): LimitedOfferAppearingNextMessageParser
{
return this.parser as LimitedOfferAppearingNextMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { NotEnoughBalanceMessageParser } from '../../parser';
export class NotEnoughBalanceMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, NotEnoughBalanceMessageParser);
}
public getParser(): NotEnoughBalanceMessageParser
{
return this.parser as NotEnoughBalanceMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { ProductOfferMessageParser } from '../../parser';
export class ProductOfferEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ProductOfferMessageParser);
}
public getParser(): ProductOfferMessageParser
{
return this.parser as ProductOfferMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { PurchaseErrorMessageParser } from '../../parser';
export class PurchaseErrorMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, PurchaseErrorMessageParser);
}
public getParser(): PurchaseErrorMessageParser
{
return this.parser as PurchaseErrorMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { PurchaseNotAllowedMessageParser } from '../../parser';
export class PurchaseNotAllowedMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, PurchaseNotAllowedMessageParser);
}
public getParser(): PurchaseNotAllowedMessageParser
{
return this.parser as PurchaseNotAllowedMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { PurchaseOKMessageParser } from '../../parser';
export class PurchaseOKMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, PurchaseOKMessageParser);
}
public getParser(): PurchaseOKMessageParser
{
return this.parser as PurchaseOKMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { RoomAdPurchaseInfoEventParser } from '../../parser';
export class RoomAdPurchaseInfoEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, RoomAdPurchaseInfoEventParser);
}
public getParser(): RoomAdPurchaseInfoEventParser
{
return this.parser as RoomAdPurchaseInfoEventParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { SeasonalCalendarDailyOfferMessageParser } from '../../parser';
export class SeasonalCalendarDailyOfferMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, SeasonalCalendarDailyOfferMessageParser);
}
public getParser(): SeasonalCalendarDailyOfferMessageParser
{
return this.parser as SeasonalCalendarDailyOfferMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { SellablePetPalettesParser } from '../../parser';
export class SellablePetPalettesMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, SellablePetPalettesParser);
}
public getParser(): SellablePetPalettesParser
{
return this.parser as SellablePetPalettesParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { TargetedOfferParser } from '../../parser';
export class TargetedOfferEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, TargetedOfferParser);
}
public getParser(): TargetedOfferParser
{
return this.parser as TargetedOfferParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { TargetedOfferNotFoundParser } from '../../parser';
export class TargetedOfferNotFoundEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, TargetedOfferNotFoundParser);
}
public getParser(): TargetedOfferNotFoundParser
{
return this.parser as TargetedOfferNotFoundParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { VoucherRedeemErrorMessageParser } from '../../parser';
export class VoucherRedeemErrorMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, VoucherRedeemErrorMessageParser);
}
public getParser(): VoucherRedeemErrorMessageParser
{
return this.parser as VoucherRedeemErrorMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { VoucherRedeemOkMessageParser } from '../../parser';
export class VoucherRedeemOkMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, VoucherRedeemOkMessageParser);
}
public getParser(): VoucherRedeemOkMessageParser
{
return this.parser as VoucherRedeemOkMessageParser;
}
}
@@ -0,0 +1,32 @@
export * from './BonusRareInfoMessageEvent';
export * from './BuildersClubFurniCountMessageEvent';
export * from './BuildersClubSubscriptionStatusMessageEvent';
export * from './BundleDiscountRulesetMessageEvent';
export * from './CatalogPageExpirationEvent';
export * from './CatalogPageMessageEvent';
export * from './CatalogPagesListEvent';
export * from './CatalogPageWithEarliestExpiryMessageEvent';
export * from './CatalogPublishedMessageEvent';
export * from './ClubGiftInfoEvent';
export * from './ClubGiftSelectedEvent';
export * from './DirectSMSClubBuyAvailableMessageEvent';
export * from './FireworkChargeDataEvent';
export * from './GiftReceiverNotFoundEvent';
export * from './GiftWrappingConfigurationEvent';
export * from './HabboClubExtendOfferMessageEvent';
export * from './HabboClubOffersMessageEvent';
export * from './IsOfferGiftableMessageEvent';
export * from './LimitedEditionSoldOutEvent';
export * from './LimitedOfferAppearingNextMessageEvent';
export * from './NotEnoughBalanceMessageEvent';
export * from './ProductOfferEvent';
export * from './PurchaseErrorMessageEvent';
export * from './PurchaseNotAllowedMessageEvent';
export * from './PurchaseOKMessageEvent';
export * from './RoomAdPurchaseInfoEvent';
export * from './SeasonalCalendarDailyOfferMessageEvent';
export * from './SellablePetPalettesMessageEvent';
export * from './TargetedOfferEvent';
export * from './TargetedOfferNotFoundEvent';
export * from './VoucherRedeemErrorMessageEvent';
export * from './VoucherRedeemOkMessageEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { ClientPingParser } from '../../parser';
export class ClientPingEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, ClientPingParser);
}
public getParser(): ClientPingParser
{
return this.parser as ClientPingParser;
}
}
@@ -0,0 +1 @@
export * from './ClientPingEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CompetitionEntrySubmitResultMessageParser } from '../../parser';
export class CompetitionEntrySubmitResultEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CompetitionEntrySubmitResultMessageParser);
}
public getParser(): CompetitionEntrySubmitResultMessageParser
{
return this.parser as CompetitionEntrySubmitResultMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CompetitionVotingInfoMessageParser } from '../../parser';
export class CompetitionVotingInfoMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CompetitionVotingInfoMessageParser);
}
public getParser(): CompetitionVotingInfoMessageParser
{
return this.parser as CompetitionVotingInfoMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CurrentTimingCodeMessageParser } from '../../parser';
export class CurrentTimingCodeMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CurrentTimingCodeMessageParser);
}
public getParser(): CurrentTimingCodeMessageParser
{
return this.parser as CurrentTimingCodeMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { IsUserPartOfCompetitionMessageParser } from '../../parser';
export class IsUserPartOfCompetitionMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, IsUserPartOfCompetitionMessageParser);
}
public getParser(): IsUserPartOfCompetitionMessageParser
{
return this.parser as IsUserPartOfCompetitionMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { NoOwnedRoomsAlertMessageParser } from '../../parser';
export class NoOwnedRoomsAlertMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, NoOwnedRoomsAlertMessageParser);
}
public getParser(): NoOwnedRoomsAlertMessageParser
{
return this.parser as NoOwnedRoomsAlertMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { SecondsUntilMessageParser } from '../../parser';
export class SecondsUntilMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, SecondsUntilMessageParser);
}
public getParser(): SecondsUntilMessageParser
{
return this.parser as SecondsUntilMessageParser;
}
}
@@ -0,0 +1,6 @@
export * from './CompetitionEntrySubmitResultEvent';
export * from './CompetitionVotingInfoMessageEvent';
export * from './CurrentTimingCodeMessageEvent';
export * from './IsUserPartOfCompetitionMessageEvent';
export * from './NoOwnedRoomsAlertMessageEvent';
export * from './SecondsUntilMessageEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CraftableProductsMessageParser } from '../../parser';
export class CraftableProductsEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CraftableProductsMessageParser);
}
public getParser(): CraftableProductsMessageParser
{
return this.parser as CraftableProductsMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CraftingRecipeMessageParser } from '../../parser';
export class CraftingRecipeEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CraftingRecipeMessageParser);
}
public getParser(): CraftingRecipeMessageParser
{
return this.parser as CraftingRecipeMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CraftingRecipesAvailableMessageParser } from '../../parser';
export class CraftingRecipesAvailableEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CraftingRecipesAvailableMessageParser);
}
public getParser(): CraftingRecipesAvailableMessageParser
{
return this.parser as CraftingRecipesAvailableMessageParser;
}
}
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { CraftingResultMessageParser } from '../../parser';
export class CraftingResultEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, CraftingResultMessageParser);
}
public getParser(): CraftingResultMessageParser
{
return this.parser as CraftingResultMessageParser;
}
}
@@ -0,0 +1,4 @@
export * from './CraftableProductsEvent';
export * from './CraftingRecipeEvent';
export * from './CraftingRecipesAvailableEvent';
export * from './CraftingResultEvent';
@@ -0,0 +1,16 @@
import { IMessageEvent } from '@nitrots/api';
import { MessageEvent } from '@nitrots/events';
import { DesktopViewParser } from '../../parser';
export class DesktopViewEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, DesktopViewParser);
}
public getParser(): DesktopViewParser
{
return this.parser as DesktopViewParser;
}
}

Some files were not shown because too many files have changed in this diff Show More