You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 23:16:20 +00:00
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import { IConnection, IRoomHandlerListener } from '@nitrots/api';
|
|
import { GetCommunication, OpenPetPackageRequestedMessageEvent, OpenPetPackageResultMessageEvent } from '@nitrots/communication';
|
|
import { GetEventDispatcher, RoomSessionPetPackageEvent } from '@nitrots/events';
|
|
import { BaseHandler } from './BaseHandler';
|
|
|
|
export class PetPackageHandler extends BaseHandler
|
|
{
|
|
constructor(connection: IConnection, listener: IRoomHandlerListener)
|
|
{
|
|
super(connection, listener);
|
|
|
|
GetCommunication().registerMessageEvent(new OpenPetPackageRequestedMessageEvent(this.onOpenPetPackageRequested.bind(this)));
|
|
GetCommunication().registerMessageEvent(new OpenPetPackageResultMessageEvent(this.onOpenPetPackageResult.bind(this)));
|
|
}
|
|
|
|
private onOpenPetPackageRequested(event: OpenPetPackageRequestedMessageEvent): void
|
|
{
|
|
if(!this.listener) return;
|
|
|
|
const parser = event.getParser();
|
|
|
|
if(!parser) return;
|
|
|
|
const session = this.listener.getSession(this.roomId);
|
|
|
|
if(!session) return;
|
|
|
|
GetEventDispatcher().dispatchEvent(new RoomSessionPetPackageEvent(RoomSessionPetPackageEvent.RSOPPE_OPEN_PET_PACKAGE_REQUESTED, session, parser.objectId, parser.figureData, 0, null));
|
|
}
|
|
|
|
private onOpenPetPackageResult(event: OpenPetPackageResultMessageEvent): void
|
|
{
|
|
if(!this.listener) return;
|
|
|
|
const parser = event.getParser();
|
|
|
|
if(!parser) return;
|
|
|
|
const session = this.listener.getSession(this.roomId);
|
|
|
|
if(!session) return;
|
|
|
|
GetEventDispatcher().dispatchEvent(new RoomSessionPetPackageEvent(RoomSessionPetPackageEvent.RSOPPE_OPEN_PET_PACKAGE_RESULT, session, parser.objectId, null, parser.nameValidationStatus, parser.nameValidationInfo));
|
|
}
|
|
}
|