mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2025-02-17 02:22:36 +01:00
Pet updates
This commit is contained in:
parent
4490edde13
commit
a62df1f59a
@ -1,5 +1,5 @@
|
||||
import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration';
|
||||
import { ApproveNameMessageComposer, CatalogApproveNameResultEvent, FurnitureGuildInfoComposer, PetMountComposer, PetSupplementComposer, RoomUnitGiveHandItemPetComposer, RoomWidgetCameraPublishedEvent, RoomWidgetCameraPurchaseComposer, SellablePetPalettesEvent } from './messages';
|
||||
import { ApproveNameMessageComposer, CatalogApproveNameResultEvent, FurnitureGuildInfoComposer, PetMountComposer, PetSupplementComposer, RemovePetSaddleComposer, RoomUnitGiveHandItemPetComposer, RoomWidgetCameraPublishedEvent, RoomWidgetCameraPurchaseComposer, SellablePetPalettesEvent, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer } from './messages';
|
||||
import { AvailabilityStatusMessageEvent } from './messages/incoming/availability/AvailabilityStatusMessageEvent';
|
||||
import { CatalogClubEvent } from './messages/incoming/catalog/CatalogClubEvent';
|
||||
import { CatalogClubGiftsEvent } from './messages/incoming/catalog/CatalogClubGiftsEvent';
|
||||
@ -859,7 +859,11 @@ export class NitroMessages implements IMessageConfiguration
|
||||
this._composers.set(OutgoingHeader.PET_MOUNT, PetMountComposer);
|
||||
this._composers.set(OutgoingHeader.PET_RESPECT, PetRespectComposer);
|
||||
this._composers.set(OutgoingHeader.PET_SUPPLEMENT, PetSupplementComposer);
|
||||
this._composers.set(OutgoingHeader.REMOVE_PET_SADDLE, RemovePetSaddleComposer);
|
||||
this._composers.set(OutgoingHeader.PET_INFO, RequestPetInfoComposer);
|
||||
this._composers.set(OutgoingHeader.TOGGLE_PET_BREEDING, TogglePetBreedingComposer);
|
||||
this._composers.set(OutgoingHeader.TOGGLE_PET_RIDING, TogglePetRidingComposer);
|
||||
this._composers.set(OutgoingHeader.USE_PET_PRODUCT, UsePetProductComposer);
|
||||
|
||||
// ROOM
|
||||
this._composers.set(OutgoingHeader.ROOM_CREATE, RoomCreateComposer);
|
||||
|
@ -240,4 +240,8 @@ export class OutgoingHeader
|
||||
public static PET_SUPPLEMENT = 749;
|
||||
public static FURNITURE_GUILD_INFO = 2651;
|
||||
public static ACHIEVEMENT_RESOLUTION_OPEN = 359;
|
||||
public static USE_PET_PRODUCT = 1328;
|
||||
public static REMOVE_PET_SADDLE = 186;
|
||||
public static TOGGLE_PET_RIDING = 1472;
|
||||
public static TOGGLE_PET_BREEDING = 3379;
|
||||
}
|
||||
|
@ -0,0 +1,21 @@
|
||||
import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer';
|
||||
|
||||
export class RemovePetSaddleComposer implements IMessageComposer<ConstructorParameters<typeof RemovePetSaddleComposer>>
|
||||
{
|
||||
private _data: ConstructorParameters<typeof RemovePetSaddleComposer>;
|
||||
|
||||
constructor(petId: number)
|
||||
{
|
||||
this._data = [ petId ];
|
||||
}
|
||||
|
||||
public getMessageArray()
|
||||
{
|
||||
return this._data;
|
||||
}
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer';
|
||||
|
||||
export class TogglePetBreedingComposer implements IMessageComposer<ConstructorParameters<typeof TogglePetBreedingComposer>>
|
||||
{
|
||||
private _data: ConstructorParameters<typeof TogglePetBreedingComposer>;
|
||||
|
||||
constructor(petId: number)
|
||||
{
|
||||
this._data = [ petId ];
|
||||
}
|
||||
|
||||
public getMessageArray()
|
||||
{
|
||||
return this._data;
|
||||
}
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer';
|
||||
|
||||
export class TogglePetRidingComposer implements IMessageComposer<ConstructorParameters<typeof TogglePetRidingComposer>>
|
||||
{
|
||||
private _data: ConstructorParameters<typeof TogglePetRidingComposer>;
|
||||
|
||||
constructor(petId: number)
|
||||
{
|
||||
this._data = [ petId ];
|
||||
}
|
||||
|
||||
public getMessageArray()
|
||||
{
|
||||
return this._data;
|
||||
}
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
import { IMessageComposer } from '../../../../../core/communication/messages/IMessageComposer';
|
||||
|
||||
export class UsePetProductComposer implements IMessageComposer<ConstructorParameters<typeof UsePetProductComposer>>
|
||||
{
|
||||
private _data: ConstructorParameters<typeof UsePetProductComposer>;
|
||||
|
||||
constructor(itemId: number, petId: number)
|
||||
{
|
||||
this._data = [ itemId, petId ];
|
||||
}
|
||||
|
||||
public getMessageArray()
|
||||
{
|
||||
return this._data;
|
||||
}
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
export * from './PetMountComposer';
|
||||
export * from './PetRespectComposer';
|
||||
export * from './PetSupplementComposer';
|
||||
export * from './RemovePetSaddleComposer';
|
||||
export * from './RequestPetInfoComposer';
|
||||
export * from './TogglePetBreedingComposer';
|
||||
export * from './TogglePetRidingComposer';
|
||||
export * from './UsePetProductComposer';
|
||||
|
@ -58,7 +58,7 @@ export class PetData
|
||||
return this._figureData.figuredata;
|
||||
}
|
||||
|
||||
public get figureData():PetFigureDataParser
|
||||
public get figureData(): PetFigureDataParser
|
||||
{
|
||||
return this._figureData;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { DisplayObject, Point, Rectangle } from 'pixi.js';
|
||||
import { INitroManager } from '../../core/common/INitroManager';
|
||||
import { IRoomObject } from '../../room';
|
||||
import { IRoomManager } from '../../room/IRoomManager';
|
||||
import { IRoomObjectController } from '../../room/object/IRoomObjectController';
|
||||
import { IRoomObjectLogicFactory } from '../../room/object/logic/IRoomObjectLogicFactory';
|
||||
@ -46,6 +47,7 @@ export interface IRoomEngine extends INitroManager
|
||||
removeRoomObjectFloor(roomId: number, objectId: number, userId?: number, _arg_4?: boolean): void;
|
||||
removeRoomObjectWall(roomId: number, objectId: number, userId?: number): void;
|
||||
removeRoomObjectUser(roomId: number, objectId: number): void;
|
||||
getRoomObjects(roomId: number, category: number): IRoomObject[];
|
||||
getRoomObjectCount(roomId: number, categoryId: number): number;
|
||||
getRoomObjectBoundingRectangle(roomId: number, objectId: number, category: number, canvasId: number): Rectangle;
|
||||
getRoomObjectScreenLocation(roomId: number, objectId: number, objectType: number, canvasId?: number): Point;
|
||||
|
@ -3366,15 +3366,15 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
||||
return null;
|
||||
}
|
||||
|
||||
public getRoomObjects(k: number, _arg_2: number): IRoomObject[]
|
||||
public getRoomObjects(roomId: number, category: number): IRoomObject[]
|
||||
{
|
||||
if(this._ready)
|
||||
{
|
||||
const _local_3 = this.getRoomId(k);
|
||||
const _local_3 = this.getRoomId(roomId);
|
||||
const _local_4 = this._roomManager.getRoomInstance(_local_3);
|
||||
|
||||
|
||||
if(_local_4) return _local_4.getRoomObjectsForCategory(_arg_2);
|
||||
if(_local_4) return _local_4.getRoomObjectsForCategory(category);
|
||||
}
|
||||
|
||||
return [];
|
||||
|
@ -35,6 +35,10 @@ export interface IRoomSession extends IDisposable
|
||||
requestMoodlightSettings(): void;
|
||||
mountPet(id: number): void;
|
||||
dismountPet(id: number): void;
|
||||
usePetProduct(itemId: number, petId: number): void;
|
||||
removePetSaddle(id: number): void;
|
||||
togglePetBreeding(id: number): void;
|
||||
togglePetRiding(id: number): void;
|
||||
connection: IConnection;
|
||||
userDataManager: UserDataManager;
|
||||
roomId: number;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Disposable } from '../../core/common/disposable/Disposable';
|
||||
import { IConnection } from '../../core/communication/connections/IConnection';
|
||||
import { PetMountComposer } from '../communication';
|
||||
import { PetMountComposer, RemovePetSaddleComposer, TogglePetBreedingComposer, TogglePetRidingComposer, UsePetProductComposer } from '../communication';
|
||||
import { RoomDoorbellAccessComposer } from '../communication/messages/outgoing/room/access/RoomDoorbellAccessComposer';
|
||||
import { RoomEnterComposer } from '../communication/messages/outgoing/room/access/RoomEnterComposer';
|
||||
import { RoomAmbassadorAlertComposer } from '../communication/messages/outgoing/room/action/RoomAmbassadorAlertComposer';
|
||||
@ -273,6 +273,26 @@ export class RoomSession extends Disposable implements IRoomSession
|
||||
this._connection.send(new PetMountComposer(id, false));
|
||||
}
|
||||
|
||||
public usePetProduct(itemId: number, petId: number): void
|
||||
{
|
||||
this._connection.send(new UsePetProductComposer(itemId, petId));
|
||||
}
|
||||
|
||||
public removePetSaddle(id: number): void
|
||||
{
|
||||
this._connection.send(new RemovePetSaddleComposer(id));
|
||||
}
|
||||
|
||||
public togglePetBreeding(id: number): void
|
||||
{
|
||||
this._connection.send(new TogglePetBreedingComposer(id));
|
||||
}
|
||||
|
||||
public togglePetRiding(id: number): void
|
||||
{
|
||||
this._connection.send(new TogglePetRidingComposer(id));
|
||||
}
|
||||
|
||||
public get connection(): IConnection
|
||||
{
|
||||
return this._connection;
|
||||
|
@ -8,9 +8,9 @@ export class RoomSessionPetFigureUpdateEvent extends RoomSessionEvent
|
||||
private _petId: number;
|
||||
private _figure: string;
|
||||
|
||||
constructor(k: IRoomSession, id: number, figure: string)
|
||||
constructor(roomSession: IRoomSession, id: number, figure: string)
|
||||
{
|
||||
super(RoomSessionPetFigureUpdateEvent.PET_FIGURE_UPDATE, k);
|
||||
super(RoomSessionPetFigureUpdateEvent.PET_FIGURE_UPDATE, roomSession);
|
||||
|
||||
this._petId = id;
|
||||
this._figure = figure;
|
||||
@ -25,4 +25,4 @@ export class RoomSessionPetFigureUpdateEvent extends RoomSessionEvent
|
||||
{
|
||||
return this._figure;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { IConnection } from '../../../core/communication/connections/IConnection';
|
||||
import { PetFigureUpdateEvent } from '../../communication';
|
||||
import { NewFriendRequestEvent } from '../../communication/messages/incoming/friendlist/NewFriendRequestEvent';
|
||||
import { BotErrorEvent } from '../../communication/messages/incoming/notifications/BotErrorEvent';
|
||||
import { PetPlacingErrorEvent } from '../../communication/messages/incoming/notifications/PetPlacingErrorEvent';
|
||||
@ -10,6 +11,7 @@ import { RoomUnitInfoEvent } from '../../communication/messages/incoming/room/un
|
||||
import { RoomUnitRemoveEvent } from '../../communication/messages/incoming/room/unit/RoomUnitRemoveEvent';
|
||||
import { UserCurrentBadgesEvent } from '../../communication/messages/incoming/user/data/UserCurrentBadgesEvent';
|
||||
import { UserNameChangeMessageEvent } from '../../communication/messages/incoming/user/data/UserNameChangeMessageEvent';
|
||||
import { RoomSessionPetFigureUpdateEvent } from '../events';
|
||||
import { RoomSessionDanceEvent } from '../events/RoomSessionDanceEvent';
|
||||
import { RoomSessionDoorbellEvent } from '../events/RoomSessionDoorbellEvent';
|
||||
import { RoomSessionErrorMessageEvent } from '../events/RoomSessionErrorMessageEvent';
|
||||
@ -37,6 +39,7 @@ export class RoomUsersHandler extends BaseHandler
|
||||
connection.addMessageEvent(new UserNameChangeMessageEvent(this.onUserNameChangeMessageEvent.bind(this)));
|
||||
connection.addMessageEvent(new NewFriendRequestEvent(this.onNewFriendRequestEvent.bind(this)));
|
||||
connection.addMessageEvent(new PetInfoEvent(this.onPetInfoEvent.bind(this)));
|
||||
connection.addMessageEvent(new PetFigureUpdateEvent(this.onPetFigureUpdateEvent.bind(this)));
|
||||
connection.addMessageEvent(new PetPlacingErrorEvent(this.onPetPlacingError.bind(this)));
|
||||
connection.addMessageEvent(new BotErrorEvent(this.onBotError.bind(this)));
|
||||
}
|
||||
@ -247,6 +250,25 @@ export class RoomUsersHandler extends BaseHandler
|
||||
this.listener.events.dispatchEvent(new RoomSessionPetInfoUpdateEvent(session, petData));
|
||||
}
|
||||
|
||||
private onPetFigureUpdateEvent(event: PetFigureUpdateEvent): void
|
||||
{
|
||||
if(!this.listener) return;
|
||||
|
||||
const parser = event.getParser();
|
||||
|
||||
if(!parser) return;
|
||||
|
||||
const session = this.listener.getSession(this.roomId);
|
||||
|
||||
if(!session) return;
|
||||
|
||||
const figure = parser.figureData.figuredata;
|
||||
|
||||
session.userDataManager.updateFigure(parser.roomIndex, figure, '', parser.hasSaddle, parser.isRiding);
|
||||
|
||||
this.listener.events.dispatchEvent(new RoomSessionPetFigureUpdateEvent(session, parser.petId, figure));
|
||||
}
|
||||
|
||||
private onPetPlacingError(event: PetPlacingErrorEvent): void
|
||||
{
|
||||
if(!event) return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user