mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2024-11-22 23:50:52 +01:00
Merge branch 'oobjectt-user-tags'
This commit is contained in:
commit
c9307102f6
@ -19,6 +19,7 @@ export interface ISessionDataManager extends INitroManager
|
||||
getBadgeUrl(name: string): string;
|
||||
getGroupBadgeUrl(name: string): string;
|
||||
getBadgeImage(name: string): Texture<Resource>;
|
||||
getUserTags(roomUnitId: number): string[];
|
||||
loadBadgeImage(name: string): string;
|
||||
getGroupBadgeImage(name: string): Texture<Resource>;
|
||||
loadGroupBadgeImage(name: string): string;
|
||||
@ -53,4 +54,5 @@ export interface ISessionDataManager extends INitroManager
|
||||
isModerator: boolean;
|
||||
isCameraFollowDisabled: boolean;
|
||||
uiFlags: number;
|
||||
tags: string[];
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -229,6 +229,7 @@ export class IncomingHeader
|
||||
public static USER_SETTINGS = 513;
|
||||
public static USER_SUBSCRIPTION = 954;
|
||||
public static USER_WARDROBE_PAGE = 3315;
|
||||
public static GET_USER_TAGS = 1255;
|
||||
public static WIRED_ACTION = 1434;
|
||||
public static WIRED_CONDITION = 1108;
|
||||
public static WIRED_ERROR = 156;
|
||||
|
@ -0,0 +1,16 @@
|
||||
import { IMessageEvent } from '../../../../../../api';
|
||||
import { MessageEvent } from '../../../../../../events';
|
||||
import { UserTagsParser } from '../../../parser';
|
||||
|
||||
export class UserTagsMessageEvent extends MessageEvent implements IMessageEvent
|
||||
{
|
||||
constructor(callBack: Function)
|
||||
{
|
||||
super(callBack, UserTagsParser);
|
||||
}
|
||||
|
||||
public getParser(): UserTagsParser
|
||||
{
|
||||
return this.parser as UserTagsParser;
|
||||
}
|
||||
}
|
@ -4,3 +4,4 @@ export * from './UserInfoEvent';
|
||||
export * from './UserNameChangeMessageEvent';
|
||||
export * from './UserProfileEvent';
|
||||
export * from './UserSettingsEvent';
|
||||
export * from './UserTagsMessageEvent';
|
||||
|
@ -0,0 +1,21 @@
|
||||
import { IMessageComposer } from '../../../../../../api';
|
||||
|
||||
export class GetUserTagsComposer implements IMessageComposer<ConstructorParameters<typeof GetUserTagsComposer>>
|
||||
{
|
||||
private _data: ConstructorParameters<typeof GetUserTagsComposer>;
|
||||
|
||||
constructor(roomUnitId: number)
|
||||
{
|
||||
this._data = [roomUnitId];
|
||||
}
|
||||
|
||||
public getMessageArray()
|
||||
{
|
||||
return this._data;
|
||||
}
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
export * from './GetExtendedProfileByNameMessageComposer';
|
||||
export * from './GetIgnoredUsersComposer';
|
||||
export * from './GetUserTagsComposer';
|
||||
export * from './IgnoreUserComposer';
|
||||
export * from './IgnoreUserIdComposer';
|
||||
export * from './UnignoreUserComposer';
|
||||
|
@ -0,0 +1,43 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '../../../../../../api';
|
||||
|
||||
export class UserTagsParser implements IMessageParser
|
||||
{
|
||||
private _roomUnitId: number;
|
||||
private _tags: string[];
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._roomUnitId = -1;
|
||||
this._tags = [];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
|
||||
this._roomUnitId = wrapper.readInt();
|
||||
|
||||
let totalTags = wrapper.readInt();
|
||||
|
||||
while(totalTags > 0)
|
||||
{
|
||||
this._tags.push(wrapper.readString());
|
||||
|
||||
totalTags--;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public get roomUnitId(): number
|
||||
{
|
||||
return this._roomUnitId;
|
||||
}
|
||||
|
||||
public get tags(): string[]
|
||||
{
|
||||
return this._tags;
|
||||
}
|
||||
}
|
@ -7,3 +7,4 @@ export * from './UserInfoParser';
|
||||
export * from './UserNameChangeMessageParser';
|
||||
export * from './UserProfileParser';
|
||||
export * from './UserSettingsParser';
|
||||
export * from './UserTagsParser';
|
||||
|
@ -2,7 +2,7 @@ import { Resource, Texture } from '@pixi/core';
|
||||
import { GetAssetManager, IFurnitureData, IFurnitureDataListener, IGroupInformationManager, IMessageComposer, INitroCommunicationManager, INitroEvent, IProductData, IProductDataListener, ISessionDataManager, NitroConfiguration, NoobnessLevelEnum, SecurityLevel } from '../../api';
|
||||
import { NitroManager } from '../../core';
|
||||
import { MysteryBoxKeysUpdateEvent, NitroSettingsEvent, SessionDataPreferencesEvent, UserNameUpdateEvent } from '../../events';
|
||||
import { AvailabilityStatusMessageEvent, ChangeUserNameResultMessageEvent, FigureUpdateEvent, InClientLinkEvent, MysteryBoxKeysEvent, NoobnessLevelMessageEvent, PetRespectComposer, RoomReadyMessageEvent, RoomUnitChatComposer, UserInfoEvent, UserNameChangeMessageEvent, UserPermissionsEvent, UserRespectComposer } from '../communication';
|
||||
import { AvailabilityStatusMessageEvent, ChangeUserNameResultMessageEvent, FigureUpdateEvent, GetUserTagsComposer, InClientLinkEvent, MysteryBoxKeysEvent, NoobnessLevelMessageEvent, PetRespectComposer, RoomReadyMessageEvent, RoomUnitChatComposer, UserInfoEvent, UserNameChangeMessageEvent, UserPermissionsEvent, UserRespectComposer, UserTagsMessageEvent } from '../communication';
|
||||
import { Nitro } from '../Nitro';
|
||||
import { HabboWebTools } from '../utils/HabboWebTools';
|
||||
import { BadgeImageManager } from './badge/BadgeImageManager';
|
||||
@ -50,6 +50,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
||||
private _furnitureListenersNotified: boolean;
|
||||
private _pendingFurnitureListeners: IFurnitureDataListener[];
|
||||
private _pendingProductListeners: IProductDataListener[];
|
||||
private _tags: string[];
|
||||
|
||||
private _badgeImageManager: BadgeImageManager;
|
||||
|
||||
@ -85,6 +86,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
||||
this._furnitureListenersNotified = false;
|
||||
this._pendingFurnitureListeners = [];
|
||||
this._pendingProductListeners = [];
|
||||
this._tags = [];
|
||||
|
||||
this._badgeImageManager = null;
|
||||
|
||||
@ -108,6 +110,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
||||
this._communication.registerMessageEvent(new AvailabilityStatusMessageEvent(this.onAvailabilityStatusMessageEvent.bind(this)));
|
||||
this._communication.registerMessageEvent(new ChangeUserNameResultMessageEvent(this.onChangeNameUpdateEvent.bind(this)));
|
||||
this._communication.registerMessageEvent(new UserNameChangeMessageEvent(this.onUserNameChangeMessageEvent.bind(this)));
|
||||
this._communication.registerMessageEvent(new UserTagsMessageEvent(this.onUserTags.bind(this)));
|
||||
this._communication.registerMessageEvent(new RoomReadyMessageEvent(this.onRoomModelNameEvent.bind(this)));
|
||||
this._communication.registerMessageEvent(new InClientLinkEvent(this.onInClientLinkEvent.bind(this)));
|
||||
this._communication.registerMessageEvent(new MysteryBoxKeysEvent(this.onMysteryBoxKeysEvent.bind(this)));
|
||||
@ -313,6 +316,17 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
||||
this.events.dispatchEvent(new UserNameUpdateEvent(this._name));
|
||||
}
|
||||
|
||||
private onUserTags(event: UserTagsMessageEvent): void
|
||||
{
|
||||
if(!event || !event.connection) return;
|
||||
|
||||
const parser = event.getParser();
|
||||
|
||||
if(!parser) return;
|
||||
|
||||
this._tags = parser.tags;
|
||||
}
|
||||
|
||||
private onRoomModelNameEvent(event: RoomReadyMessageEvent): void
|
||||
{
|
||||
if(!event) return;
|
||||
@ -481,6 +495,13 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
||||
return this._badgeImageManager.getBadgeImage(name, BadgeImageManager.GROUP_BADGE);
|
||||
}
|
||||
|
||||
public getUserTags(roomUnitId: number): string[]
|
||||
{
|
||||
if(roomUnitId < 0) return;
|
||||
|
||||
this.send(new GetUserTagsComposer(roomUnitId));
|
||||
}
|
||||
|
||||
public loadBadgeImage(name: string): string
|
||||
{
|
||||
return this._badgeImageManager.loadBadgeImage(name);
|
||||
@ -658,4 +679,9 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
|
||||
{
|
||||
return this._uiFlags;
|
||||
}
|
||||
|
||||
public get tags(): string[]
|
||||
{
|
||||
return this._tags;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user