This commit is contained in:
Bill 2021-09-18 04:30:39 -04:00
commit eb71b62db3
42 changed files with 814 additions and 13 deletions

View File

@ -1,5 +1,5 @@
import { IMessageConfiguration } from '../../core/communication/messages/IMessageConfiguration';
import { AchievementNotificationMessageEvent, ActivityPointNotificationMessageEvent, AddJukeboxDiskComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AvailabilityTimeMessageEvent, BadgePointLimitsEvent, BadgeReceivedEvent, BonusRareInfoMessageEvent, BuildersClubFurniCountMessageEvent, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, ClubGiftNotificationEvent, DirectSMSClubBuyAvailableMessageEvent, FigureUpdateEvent, ForwardToASubmittableRoomMessageComposer, ForwardToRandomCompetitionRoomMessageComposer, FurnitureGroupInfoComposer, GetBonusRareInfoMessageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetCurrentTimingCodeMessageComposer, GetDirectClubBuyAvailableComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetInterstitialMessageComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOfficialSongIdMessageComposer, GetRoomAdPurchaseInfoComposer, GetSeasonalCalendarDailyOfferComposer, GetSecondsUntilMessageComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetUserSongDisksMessageComposer, GroupBadgesComposer, GroupBadgesEvent, HabboClubExtendOfferMessageEvent, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelWillCloseInMinutesEvent, InfoFeedEnableMessageEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsBadgeRequestFulfilledEvent, IsOfferGiftableMessageEvent, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LimitedOfferAppearingNextMessageEvent, MaintenanceStatusMessageEvent, MarkCatalogNewAdditionsPageOpenedComposer, MarketplaceBuyOfferComposer, MarketplaceRedeemCreditsComposer, MarketplaceRequesstItemStatsComposer, MarketplaceRequestComposer, MarketplaceRequestOffersComposer, MarketplaceRequestOwnItemsComposer, MarketplaceTakeItemBackComposer, MysteryBoxKeysEvent, NotEnoughBalanceMessageEvent, NowPlayingMessageEvent, OfficialSongIdMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, PetExperienceEvent, PetMountComposer, PetSupplementComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PurchaseBasicMembershipExtensionComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, RemoveAllRightsMessageComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, RoomAdErrorEvent, RoomAdPurchaseInfoEvent, RoomCompetitionInitMessageComposer, RoomUnitGiveHandItemPetComposer, SeasonalCalendarDailyOfferMessageEvent, SellablePetPalettesMessageEvent, SetTargetedOfferStateComposer, ShopTargetedOfferViewedComposer, SubmitRoomToCompetitionMessageComposer, TalentTrackEvent, TargetedOfferEvent, TargetedOfferNotFoundEvent, TogglePetBreedingComposer, TogglePetRidingComposer, TraxSongInfoMessageEvent, UnseenResetCategoryComposer, UnseenResetItemsComposer, UsePetProductComposer, UserSongDisksInventoryMessageEvent, VoteForRoomMessageComposer, WardrobeMessageEvent } from './messages';
import { AchievementNotificationMessageEvent, ActivityPointNotificationMessageEvent, AddJukeboxDiskComposer, ApproveNameMessageComposer, ApproveNameMessageEvent, AvailabilityTimeMessageEvent, BadgePointLimitsEvent, BadgeReceivedEvent, BonusRareInfoMessageEvent, BuildersClubFurniCountMessageEvent, BuildersClubSubscriptionStatusMessageEvent, BundleDiscountRulesetMessageEvent, ChangeUserNameMessageComposer, ChangeUserNameResultMessageEvent, CheckUserNameMessageComposer, CheckUserNameResultMessageEvent, ClubGiftNotificationEvent, ControlYoutubeDisplayPlaybackMessageComposer, DirectSMSClubBuyAvailableMessageEvent, FigureUpdateEvent, ForwardToASubmittableRoomMessageComposer, ForwardToRandomCompetitionRoomMessageComposer, FurnitureGroupInfoComposer, GetBonusRareInfoMessageComposer, GetCatalogPageExpirationComposer, GetCatalogPageWithEarliestExpiryComposer, GetCurrentTimingCodeMessageComposer, GetDirectClubBuyAvailableComposer, GetForumsListMessageComposer, GetForumStatsMessageComposer, GetGiftMessageComposer, GetHabboBasicMembershipExtendOfferComposer, GetHabboClubExtendOfferMessageComposer, GetInterstitialMessageComposer, GetJukeboxPlayListMessageComposer, GetLimitedOfferAppearingNextComposer, GetMessagesMessageComposer, GetNextTargetedOfferComposer, GetNowPlayingMessageComposer, GetOfficialSongIdMessageComposer, GetRoomAdPurchaseInfoComposer, GetSeasonalCalendarDailyOfferComposer, GetSecondsUntilMessageComposer, GetSongInfoMessageComposer, GetSoundMachinePlayListMessageComposer, GetThreadMessageComposer, GetThreadsMessageComposer, GetUnreadForumsCountMessageComposer, GetUserSongDisksMessageComposer, GetYoutubeDisplayStatusMessageComposer, GroupBadgesComposer, GroupBadgesEvent, HabboClubExtendOfferMessageEvent, HotelClosedAndOpensEvent, HotelClosesAndWillOpenAtEvent, HotelWillCloseInMinutesEvent, InfoFeedEnableMessageEvent, InterstitialMessageEvent, InterstitialShownMessageComposer, IsBadgeRequestFulfilledEvent, IsOfferGiftableMessageEvent, JukeboxPlayListFullMessageEvent, JukeboxSongDisksMessageEvent, LimitedOfferAppearingNextMessageEvent, MaintenanceStatusMessageEvent, MarkCatalogNewAdditionsPageOpenedComposer, MarketplaceBuyOfferComposer, MarketplaceRedeemCreditsComposer, MarketplaceRequesstItemStatsComposer, MarketplaceRequestComposer, MarketplaceRequestOffersComposer, MarketplaceRequestOwnItemsComposer, MarketplaceTakeItemBackComposer, ModerateMessageMessageComposer, ModerateThreadMessageComposer, MysteryBoxKeysEvent, NotEnoughBalanceMessageEvent, NowPlayingMessageEvent, OfficialSongIdMessageEvent, OpenCampaignCalendarDoorAsStaffComposer, OpenCampaignCalendarDoorComposer, PetExperienceEvent, PetMountComposer, PetSupplementComposer, PlayListMessageEvent, PlayListSongAddedMessageEvent, PostMessageMessageComposer, PurchaseBasicMembershipExtensionComposer, PurchaseRoomAdMessageComposer, PurchaseTargetedOfferComposer, PurchaseVipMembershipExtensionComposer, RemoveAllRightsMessageComposer, RemoveJukeboxDiskComposer, RemoveOwnRoomRightsRoomMessageComposer, RemovePetSaddleComposer, ResetPhoneNumberStateMessageComposer, RoomAdErrorEvent, RoomAdPurchaseInfoEvent, RoomCompetitionInitMessageComposer, RoomUnitGiveHandItemPetComposer, SeasonalCalendarDailyOfferMessageEvent, SellablePetPalettesMessageEvent, SetPhoneNumberVerificationStatusMessageComposer, SetTargetedOfferStateComposer, SetYoutubeDisplayPlaylistMessageComposer, ShopTargetedOfferViewedComposer, SubmitRoomToCompetitionMessageComposer, TalentTrackEvent, TargetedOfferEvent, TargetedOfferNotFoundEvent, TogglePetBreedingComposer, TogglePetRidingComposer, TraxSongInfoMessageEvent, TryPhoneNumberMessageComposer, UnseenResetCategoryComposer, UnseenResetItemsComposer, UpdateForumReadMarkerMessageComposer, UpdateForumSettingsMessageComposer, UpdateThreadMessageComposer, UsePetProductComposer, UserSongDisksInventoryMessageEvent, VerifyCodeMessageComposer, VoteForRoomMessageComposer, WardrobeMessageEvent } from './messages';
import { AvailabilityStatusMessageEvent } from './messages/incoming/availability/AvailabilityStatusMessageEvent';
import { BotAddedToInventoryEvent, BotInventoryMessageEvent, BotReceivedMessageEvent, BotRemovedFromInventoryEvent } from './messages/incoming/bots';
import { CfhSanctionMessageEvent, CfhTopicsInitEvent, SanctionStatusEvent } from './messages/incoming/callforhelp';
@ -158,6 +158,7 @@ import { FurnitureFloorUpdateEvent } from './messages/incoming/room/furniture/fl
import { FurnitureAliasesEvent } from './messages/incoming/room/furniture/FurnitureAliasesEvent';
import { FurnitureDataEvent } from './messages/incoming/room/furniture/FurnitureDataEvent';
import { FurnitureItemDataEvent } from './messages/incoming/room/furniture/FurnitureItemDataEvent';
import { FurniturePostItStickyPoleOpenEvent } from './messages/incoming/room/furniture/FurniturePostItStickyPoleOpenEvent';
import { FurnitureStackHeightEvent } from './messages/incoming/room/furniture/FurnitureStackHeightEvent';
import { FurnitureState2Event } from './messages/incoming/room/furniture/FurnitureState2Event';
import { FurnitureStateEvent } from './messages/incoming/room/furniture/FurnitureStateEvent';
@ -170,6 +171,9 @@ import { FurnitureWallAddEvent } from './messages/incoming/room/furniture/wall/F
import { FurnitureWallEvent } from './messages/incoming/room/furniture/wall/FurnitureWallEvent';
import { FurnitureWallRemoveEvent } from './messages/incoming/room/furniture/wall/FurnitureWallRemoveEvent';
import { FurnitureWallUpdateEvent } from './messages/incoming/room/furniture/wall/FurnitureWallUpdateEvent';
import { YoutubeControlVideoMessageEvent } from './messages/incoming/room/furniture/youtube/YoutubeControlVideoMessageEvent';
import { YoutubeDisplayPlaylistsEvent } from './messages/incoming/room/furniture/youtube/YoutubeDisplayPlaylistsEvent';
import { YoutubeDisplayVideoMessageEvent } from './messages/incoming/room/furniture/youtube/YoutubeDisplayVideoMessageEvent';
import { RoomBlockedTilesEvent } from './messages/incoming/room/mapping/RoomBlockedTilesEvent';
import { RoomDoorEvent } from './messages/incoming/room/mapping/RoomDoorEvent';
import { RoomHeightMapEvent } from './messages/incoming/room/mapping/RoomHeightMapEvent';
@ -397,6 +401,7 @@ import { FurniturePickupComposer } from './messages/outgoing/room/furniture/Furn
import { FurniturePlaceComposer } from './messages/outgoing/room/furniture/FurniturePlaceComposer';
import { FurniturePlacePaintComposer } from './messages/outgoing/room/furniture/FurniturePlacePaintComposer';
import { FurniturePostItPlaceComposer } from './messages/outgoing/room/furniture/FurniturePostItPlaceComposer';
import { FurniturePostItSaveStickyPoleComposer } from './messages/outgoing/room/furniture/FurniturePostItSaveStickyPoleComposer';
import { FurnitureColorWheelComposer } from './messages/outgoing/room/furniture/logic/FurnitureColorWheelComposer';
import { FurnitureDiceActivateComposer } from './messages/outgoing/room/furniture/logic/FurnitureDiceActivateComposer';
import { FurnitureDiceDeactivateComposer } from './messages/outgoing/room/furniture/logic/FurnitureDiceDeactivateComposer';
@ -626,6 +631,11 @@ export class NitroMessages implements IMessageConfiguration
this._events.set(IncomingHeader.USER_PET_ADD, PetAddedToInventoryEvent);
this._events.set(IncomingHeader.PET_RECEIVED, PetReceivedMessageEvent);
this._events.set(IncomingHeader.PET_PLACING_ERROR, PetPlacingErrorEvent);
this._events.set(IncomingHeader.YOUTUBE_CONTROL_VIDEO, YoutubeControlVideoMessageEvent);
this._events.set(IncomingHeader.YOUTUBE_DISPLAY_PLAYLISTS, YoutubeDisplayPlaylistsEvent);
this._events.set(IncomingHeader.YOUTUBE_DISPLAY_VIDEO, YoutubeDisplayVideoMessageEvent);
// TRADING
this._events.set(IncomingHeader.TRADE_ACCEPTED, TradingAcceptEvent);
this._events.set(IncomingHeader.TRADE_CLOSED, TradingCloseEvent);
this._events.set(IncomingHeader.TRADE_COMPLETED, TradingCompletedEvent);
@ -748,6 +758,9 @@ export class NitroMessages implements IMessageConfiguration
this._events.set(IncomingHeader.LOVELOCK_FURNI_START, LoveLockFurniStartEvent);
this._events.set(IncomingHeader.OBJECTS_DATA_UPDATE, ObjectsDataUpdateEvent);
this._events.set(IncomingHeader.FURNITURE_GROUP_CONTEXT_MENU_INFO, GroupFurniContextMenuInfoMessageEvent);
this._events.set(IncomingHeader.FURNITURE_POSTIT_STICKY_POLE_OPEN, FurniturePostItStickyPoleOpenEvent);
// MAPPING
this._events.set(IncomingHeader.ROOM_MODEL_DOOR, RoomDoorEvent);
this._events.set(IncomingHeader.ROOM_HEIGHT_MAP, RoomHeightMapEvent);
this._events.set(IncomingHeader.ROOM_HEIGHT_MAP_UPDATE, RoomHeightMapUpdateEvent);
@ -840,6 +853,14 @@ export class NitroMessages implements IMessageConfiguration
this._composers.set(OutgoingHeader.CHANGE_USERNAME, ChangeUserNameMessageComposer);
this._composers.set(OutgoingHeader.CHECK_USERNAME, CheckUserNameMessageComposer);
// CAMERA
this._composers.set(OutgoingHeader.REQUEST_CAMERA_CONFIGURATION, RequestCameraConfigurationComposer);
this._composers.set(OutgoingHeader.RENDER_ROOM, RenderRoomMessageComposer);
this._composers.set(OutgoingHeader.RENDER_ROOM_THUMBNAIL, RenderRoomThumbnailMessageComposer);
this._composers.set(OutgoingHeader.PURCHASE_PHOTO, PurchasePhotoMessageComposer);
this._composers.set(OutgoingHeader.PUBLISH_PHOTO, PublishPhotoMessageComposer);
this._composers.set(OutgoingHeader.PHOTO_COMPETITION, PhotoCompetitionMessageComposer);
// CAMPAIGN
this._composers.set(OutgoingHeader.OPEN_CAMPAIGN_CALENDAR_DOOR, OpenCampaignCalendarDoorComposer);
this._composers.set(OutgoingHeader.OPEN_CAMPAIGN_CALENDAR_DOOR_STAFF, OpenCampaignCalendarDoorAsStaffComposer);
@ -919,6 +940,29 @@ export class NitroMessages implements IMessageConfiguration
this._composers.set(OutgoingHeader.SET_RELATIONSHIP_STATUS, SetRelationshipStatusComposer);
this._composers.set(OutgoingHeader.VISIT_USER, VisitUserComposer);
// todo: game
// GIFTS
this._composers.set(OutgoingHeader.GET_GIFT, GetGiftMessageComposer);
this._composers.set(OutgoingHeader.RESET_PHONE_NUMBER_STATE, ResetPhoneNumberStateMessageComposer);
this._composers.set(OutgoingHeader.SET_PHONE_NUMBER_VERIFICATION_STATUS, SetPhoneNumberVerificationStatusMessageComposer);
this._composers.set(OutgoingHeader.TRY_PHONE_NUMBER, TryPhoneNumberMessageComposer);
this._composers.set(OutgoingHeader.VERIFY_CODE, VerifyCodeMessageComposer);
// GROUPFORUMS
this._composers.set(OutgoingHeader.GET_FORUM_STATS, GetForumStatsMessageComposer);
this._composers.set(OutgoingHeader.GET_FORUMS_LIST, GetForumsListMessageComposer);
this._composers.set(OutgoingHeader.GET_FORUM_MESSAGES, GetMessagesMessageComposer);
this._composers.set(OutgoingHeader.GET_FORUM_THREAD, GetThreadMessageComposer);
this._composers.set(OutgoingHeader.GET_FORUM_THREADS, GetThreadsMessageComposer);
this._composers.set(OutgoingHeader.GET_UNREAD_FORUMS_COUNT, GetUnreadForumsCountMessageComposer);
this._composers.set(OutgoingHeader.FORUM_MODERATE_MESSAGE, ModerateMessageMessageComposer);
this._composers.set(OutgoingHeader.FORUM_MODERATE_THREAD, ModerateThreadMessageComposer);
this._composers.set(OutgoingHeader.FORUM_POST_MESSAGE, PostMessageMessageComposer);
this._composers.set(OutgoingHeader.UPDATE_FORUM_READ_MARKER, UpdateForumReadMarkerMessageComposer);
this._composers.set(OutgoingHeader.UPDATE_FORUM_SETTINGS, UpdateForumSettingsMessageComposer);
this._composers.set(OutgoingHeader.FORUM_UPDATE_THREAD, UpdateThreadMessageComposer);
// CLIENT
this._composers.set(OutgoingHeader.CLIENT_PONG, ClientPongComposer);
this._composers.set(OutgoingHeader.RELEASE_VERSION, ClientReleaseVersionComposer);
@ -1063,6 +1107,10 @@ export class NitroMessages implements IMessageConfiguration
this._composers.set(OutgoingHeader.FURNITURE_PLACE, FurniturePlaceComposer);
this._composers.set(OutgoingHeader.ITEM_PAINT, FurniturePlacePaintComposer);
this._composers.set(OutgoingHeader.FURNITURE_POSTIT_PLACE, FurniturePostItPlaceComposer);
this._composers.set(OutgoingHeader.FURNITURE_POSTIT_SAVE_STICKY_POLE, FurniturePostItSaveStickyPoleComposer);
this._composers.set(OutgoingHeader.CONTROL_YOUTUBE_DISPLAY_PLAYBACK, ControlYoutubeDisplayPlaybackMessageComposer);
this._composers.set(OutgoingHeader.GET_YOUTUBE_DISPLAY_STATUS, GetYoutubeDisplayStatusMessageComposer);
this._composers.set(OutgoingHeader.SET_YOUTUBE_DISPLAY_PLAYLIST, SetYoutubeDisplayPlaylistMessageComposer);
// FLOOR
this._composers.set(OutgoingHeader.FURNITURE_FLOOR_UPDATE, FurnitureFloorUpdateComposer);
@ -1212,14 +1260,6 @@ export class NitroMessages implements IMessageConfiguration
this._composers.set(OutgoingHeader.REJECT_QUEST, RejectQuestMessageComposer);
this._composers.set(OutgoingHeader.START_CAMPAIGN, StartCampaignMessageComposer);
// CAMERA
this._composers.set(OutgoingHeader.REQUEST_CAMERA_CONFIGURATION, RequestCameraConfigurationComposer);
this._composers.set(OutgoingHeader.RENDER_ROOM, RenderRoomMessageComposer);
this._composers.set(OutgoingHeader.RENDER_ROOM_THUMBNAIL, RenderRoomThumbnailMessageComposer);
this._composers.set(OutgoingHeader.PURCHASE_PHOTO, PurchasePhotoMessageComposer);
this._composers.set(OutgoingHeader.PUBLISH_PHOTO, PublishPhotoMessageComposer);
this._composers.set(OutgoingHeader.PHOTO_COMPETITION, PhotoCompetitionMessageComposer);
// SOUNDS
this._composers.set(OutgoingHeader.GET_SOUND_SETTINGS, GetSoundSettingsComposer);
this._composers.set(OutgoingHeader.ADD_JUKEBOX_DISK, AddJukeboxDiskComposer);

View File

@ -30,7 +30,8 @@ export class IncomingHeader
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_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;
@ -321,4 +322,7 @@ export class IncomingHeader
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;
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../../core/communication/messages/MessageEvent';
import { FurniturePostItStickyPoleOpenParser } from '../../../parser/room/furniture/FurniturePostItStickyPoleOpenParser';
export class FurniturePostItStickyPoleOpenEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, FurniturePostItStickyPoleOpenParser);
}
public getParser(): FurniturePostItStickyPoleOpenParser
{
return this.parser as FurniturePostItStickyPoleOpenParser;
}
}

View File

@ -2,6 +2,7 @@ export * from './floor';
export * from './FurnitureAliasesEvent';
export * from './FurnitureDataEvent';
export * from './FurnitureItemDataEvent';
export * from './FurniturePostItStickyPoleOpenEvent';
export * from './FurnitureStackHeightEvent';
export * from './FurnitureState2Event';
export * from './FurnitureStateEvent';
@ -12,3 +13,4 @@ export * from './LoveLockFurniStartEvent';
export * from './RoomDimmerPresetsMessageData';
export * from './RoomDimmerPresetsMessageEvent';
export * from './wall';
export * from './youtube';

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent';
import { YoutubeControlVideoMessageParser } from '../../../../parser/room/furniture/youtube/YoutubeControlVideoMessageParser';
export class YoutubeControlVideoMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, YoutubeControlVideoMessageParser);
}
public getParser(): YoutubeControlVideoMessageParser
{
return this.parser as YoutubeControlVideoMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent';
import { YoutubeDisplayPlaylistsMessageParser } from '../../../../parser/room/furniture/youtube/YoutubeDisplayPlaylistsMessageParser';
export class YoutubeDisplayPlaylistsEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, YoutubeDisplayPlaylistsMessageParser);
}
public getParser(): YoutubeDisplayPlaylistsMessageParser
{
return this.parser as YoutubeDisplayPlaylistsMessageParser;
}
}

View File

@ -0,0 +1,16 @@
import { IMessageEvent } from '../../../../../../../core/communication/messages/IMessageEvent';
import { MessageEvent } from '../../../../../../../core/communication/messages/MessageEvent';
import { YoutubeDisplayVideoMessageParser } from '../../../../parser/room/furniture/youtube/YoutubeDisplayVideoMessageParser';
export class YoutubeDisplayVideoMessageEvent extends MessageEvent implements IMessageEvent
{
constructor(callBack: Function)
{
super(callBack, YoutubeDisplayVideoMessageParser);
}
public getParser(): YoutubeDisplayVideoMessageParser
{
return this.parser as YoutubeDisplayVideoMessageParser;
}
}

View File

@ -0,0 +1,3 @@
export * from './YoutubeControlVideoMessageEvent';
export * from './YoutubeDisplayPlaylistsEvent';
export * from './YoutubeDisplayVideoMessageEvent';

View File

@ -31,6 +31,7 @@ export class OutgoingHeader
public static FURNITURE_PICKUP = 3456;
public static FURNITURE_PLACE = 1258;
public static FURNITURE_POSTIT_PLACE = 2248;
public static FURNITURE_POSTIT_SAVE_STICKY_POLE = 3283;
public static FURNITURE_RANDOMSTATE = 3617;
public static FURNITURE_WALL_MULTISTATE = 210;
public static FURNITURE_WALL_UPDATE = 168;
@ -41,9 +42,18 @@ export class OutgoingHeader
public static GROUP_ADMIN_REMOVE = 722;
public static GROUP_CREATE_OPTIONS = 798;
public static GROUP_FAVORITE = 3549;
public static GROUP_FORUM_INFO = 3149;
public static GROUP_FORUM_LIST = 873;
public static GROUP_FORUM_THREADS = 436;
public static GET_FORUM_STATS = 3149;
public static GET_FORUM_THREADS = 873;
public static GET_FORUMS_LIST = 436;
public static GET_FORUM_MESSAGES = 232;
public static GET_FORUM_THREAD = 3900;
public static GET_UNREAD_FORUMS_COUNT = 2908;
public static FORUM_MODERATE_MESSAGE = 286;
public static FORUM_MODERATE_THREAD = 1397;
public static FORUM_POST_MESSAGE = 3529;
public static UPDATE_FORUM_READ_MARKER = 1855;
public static UPDATE_FORUM_SETTINGS = 2214;
public static FORUM_UPDATE_THREAD = 3045;
public static GROUP_INFO = 2991;
public static GROUP_DELETE = 1134;
public static GROUP_MEMBER_REMOVE_CONFIRM = 3593;
@ -316,4 +326,12 @@ export class OutgoingHeader
public static ROOM_COMPETITION_INIT = 1334;
public static SUBMIT_ROOM_TO_COMPETITION = 2595;
public static VOTE_FOR_ROOM = 143;
public static GET_GIFT = 2436;
public static RESET_PHONE_NUMBER_STATE = 2741;
public static SET_PHONE_NUMBER_VERIFICATION_STATUS = 1379;
public static TRY_PHONE_NUMBER = 790;
public static VERIFY_CODE = 2721;
public static CONTROL_YOUTUBE_DISPLAY_PLAYBACK = 3005;
public static GET_YOUTUBE_DISPLAY_STATUS = 336;
public static SET_YOUTUBE_DISPLAY_PLAYLIST = 2069;
}

View File

@ -0,0 +1,23 @@
import { IMessageComposer } from '../../../../../core';
export class GetGiftMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetGiftMessageComposer>>
{
public static readonly NO_ISSUE_ID = -1;
private _data: ConstructorParameters<typeof GetGiftMessageComposer>;
constructor()
{
this._data = [];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class ResetPhoneNumberStateMessageComposer implements IMessageComposer<ConstructorParameters<typeof ResetPhoneNumberStateMessageComposer>>
{
private _data: ConstructorParameters<typeof ResetPhoneNumberStateMessageComposer>;
constructor()
{
this._data = [];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,23 @@
import { IMessageComposer } from '../../../../../core';
export class SetPhoneNumberVerificationStatusMessageComposer implements IMessageComposer<ConstructorParameters<typeof SetPhoneNumberVerificationStatusMessageComposer>>
{
public static readonly NO_ISSUE_ID = -1;
private _data: ConstructorParameters<typeof SetPhoneNumberVerificationStatusMessageComposer>;
constructor(k: number)
{
this._data = [k];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class TryPhoneNumberMessageComposer implements IMessageComposer<ConstructorParameters<typeof TryPhoneNumberMessageComposer>>
{
private _data: ConstructorParameters<typeof TryPhoneNumberMessageComposer>;
constructor(k: string, _arg_2: string)
{
this._data = [ k, _arg_2 ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class VerifyCodeMessageComposer implements IMessageComposer<ConstructorParameters<typeof VerifyCodeMessageComposer>>
{
private _data: ConstructorParameters<typeof VerifyCodeMessageComposer>;
constructor(k: string)
{
this._data = [ k ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,5 @@
export * from './GetGiftMessageComposer';
export * from './ResetPhoneNumberStateMessageComposer';
export * from './SetPhoneNumberVerificationStatusMessageComposer';
export * from './TryPhoneNumberMessageComposer';
export * from './VerifyCodeMessageComposer';

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../..';
export class GetForumStatsMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetForumStatsMessageComposer>>
{
private _data: ConstructorParameters<typeof GetForumStatsMessageComposer>;
constructor(k: number)
{
this._data = [ k ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../..';
export class GetForumsListMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetForumsListMessageComposer>>
{
private _data: ConstructorParameters<typeof GetForumsListMessageComposer>;
constructor(k: number, _arg_2: number, _arg_3: number)
{
this._data = [ k, _arg_2, _arg_3 ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../..';
export class GetMessagesMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetMessagesMessageComposer>>
{
private _data: ConstructorParameters<typeof GetMessagesMessageComposer>;
constructor(k: number, _arg_2: number, _arg_3: number, _arg_4: number)
{
this._data = [k, _arg_2, _arg_3, _arg_4];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../..';
export class GetThreadMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetThreadMessageComposer>>
{
private _data: ConstructorParameters<typeof GetThreadMessageComposer>;
constructor(k: number, _arg_2: number)
{
this._data = [ k, _arg_2 ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../..';
export class GetThreadsMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetThreadsMessageComposer>>
{
private _data: ConstructorParameters<typeof GetThreadsMessageComposer>;
constructor(k: number, _arg_2: number, _arg_3: number)
{
this._data = [k, _arg_2, _arg_3 ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class GetUnreadForumsCountMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetUnreadForumsCountMessageComposer>>
{
private _data: ConstructorParameters<typeof GetUnreadForumsCountMessageComposer>;
constructor()
{
this._data = [];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../..';
export class ModerateMessageMessageComposer implements IMessageComposer<ConstructorParameters<typeof ModerateMessageMessageComposer>>
{
private _data: ConstructorParameters<typeof ModerateMessageMessageComposer>;
constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:number)
{
this._data = [k, _arg_2, _arg_3, _arg_4];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class ModerateThreadMessageComposer implements IMessageComposer<ConstructorParameters<typeof ModerateThreadMessageComposer>>
{
private _data: ConstructorParameters<typeof ModerateThreadMessageComposer>;
constructor(k:number, _arg_2:number, _arg_3:number)
{
this._data = [k, _arg_2, _arg_3];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class PostMessageMessageComposer implements IMessageComposer<ConstructorParameters<typeof PostMessageMessageComposer>>
{
private _data: ConstructorParameters<typeof PostMessageMessageComposer>;
constructor(k:number, _arg_2:number, _arg_3:string, _arg_4:string)
{
this._data = [k, _arg_2, _arg_3, _arg_4];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,33 @@
import { IMessageComposer } from '../../../../../core';
export class UpdateForumReadMarkerMessageComposer implements IMessageComposer<any>
{
private _data: any;
constructor(...data: UpdateForumReadMarkerEntry[])
{
this._data = [data.length];
data.forEach( entry =>
{
this._data.push(entry.k);
this._data.push(entry._arg_2);
this._data.push(entry._arg_3);
});
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}
export class UpdateForumReadMarkerEntry
{
constructor(public k:number, public _arg_2:number, public _arg_3:boolean)
{}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class UpdateForumSettingsMessageComposer implements IMessageComposer<ConstructorParameters<typeof UpdateForumSettingsMessageComposer>>
{
private _data: ConstructorParameters<typeof UpdateForumSettingsMessageComposer>;
constructor(k:number, _arg_2:number, _arg_3:number, _arg_4:number, _arg_5:number)
{
this._data = [k, _arg_2, _arg_3, _arg_4, _arg_5];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../core';
export class UpdateThreadMessageComposer implements IMessageComposer<ConstructorParameters<typeof UpdateThreadMessageComposer>>
{
private _data: ConstructorParameters<typeof UpdateThreadMessageComposer>;
constructor(k:number, _arg_2:number, _arg_3:boolean, _arg_4:boolean)
{
this._data = [k, _arg_2, _arg_4, _arg_3];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,12 @@
export * from './GetForumsListMessageComposer';
export * from './GetForumStatsMessageComposer';
export * from './GetMessagesMessageComposer';
export * from './GetThreadMessageComposer';
export * from './GetThreadsMessageComposer';
export * from './GetUnreadForumsCountMessageComposer';
export * from './ModerateMessageMessageComposer';
export * from './ModerateThreadMessageComposer';
export * from './PostMessageMessageComposer';
export * from './UpdateForumReadMarkerMessageComposer';
export * from './UpdateForumSettingsMessageComposer';
export * from './UpdateThreadMessageComposer';

View File

@ -8,7 +8,9 @@ export * from './competition';
export * from './desktop';
export * from './friendfurni';
export * from './friendlist';
export * from './gifts';
export * from './group';
export * from './groupforums';
export * from './handshake';
export * from './helper';
export * from './inventory';

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../../core/communication/messages/IMessageComposer';
export class FurniturePostItSaveStickyPoleComposer implements IMessageComposer<ConstructorParameters<typeof FurniturePostItSaveStickyPoleComposer>>
{
private _data: ConstructorParameters<typeof FurniturePostItSaveStickyPoleComposer>;
constructor(itemId: number, wallLocation: string, color: string, text: string)
{
this._data = [ itemId, wallLocation, color, text ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -6,8 +6,10 @@ export * from './FurniturePickupComposer';
export * from './FurniturePlaceComposer';
export * from './FurniturePlacePaintComposer';
export * from './FurniturePostItPlaceComposer';
export * from './FurniturePostItSaveStickyPoleComposer';
export * from './logic';
export * from './mannequin';
export * from './presents';
export * from './toner';
export * from './wall';
export * from './youtube';

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../../../core';
export class ControlYoutubeDisplayPlaybackMessageComposer implements IMessageComposer<ConstructorParameters<typeof ControlYoutubeDisplayPlaybackMessageComposer>>
{
private _data: ConstructorParameters<typeof ControlYoutubeDisplayPlaybackMessageComposer>;
constructor(k: number, _arg_2: number)
{
this._data = [k, _arg_2];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../../../core';
export class GetYoutubeDisplayStatusMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetYoutubeDisplayStatusMessageComposer>>
{
private _data: ConstructorParameters<typeof GetYoutubeDisplayStatusMessageComposer>;
constructor(k: number)
{
this._data = [ k ];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,21 @@
import { IMessageComposer } from '../../../../../../..';
export class SetYoutubeDisplayPlaylistMessageComposer implements IMessageComposer<ConstructorParameters<typeof SetYoutubeDisplayPlaylistMessageComposer>>
{
private _data: ConstructorParameters<typeof SetYoutubeDisplayPlaylistMessageComposer>;
constructor(k:number, _arg_2:string)
{
this._data = [k, _arg_2];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}

View File

@ -0,0 +1,3 @@
export * from './ControlYoutubeDisplayPlaybackMessageComposer';
export * from './GetYoutubeDisplayStatusMessageComposer';
export * from './SetYoutubeDisplayPlaylistMessageComposer';

View File

@ -0,0 +1,27 @@
import { IMessageDataWrapper, IMessageParser } from '../../../../../../core';
export class FurniturePostItStickyPoleOpenParser implements IMessageParser
{
private _itemId: number;
public flush(): boolean
{
this._itemId = 0;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._itemId = parseInt(wrapper.readString());
return true;
}
public get furnitureId(): number
{
return this._itemId;
}
}

View File

@ -11,3 +11,4 @@ export * from './LoveLockFurniFriendConfirmedParser';
export * from './LoveLockFurniStartParser';
export * from './RoomDimmerPresetsMessageParser';
export * from './wall';
export * from './youtube';

View File

@ -0,0 +1,32 @@
import { IMessageDataWrapper } from '../../../../../../../core/communication/messages/IMessageDataWrapper';
import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser';
export class YoutubeControlVideoMessageParser implements IMessageParser
{
private _furniId: number;
private _commandId: number;
public parse(wrapper: IMessageDataWrapper): boolean
{
this._furniId = wrapper.readInt();
this._commandId = wrapper.readInt();
return true;
}
public flush(): boolean
{
this._furniId = -1;
this._commandId = -1;
return true;
}
public get furniId(): number
{
return this._furniId;
}
public get commandId(): number
{
return this._commandId;
}
}

View File

@ -0,0 +1,28 @@
export class YoutubeDisplayPlaylist
{
private _video: string;
private _title: string;
private _description: string;
constructor(k: string, _arg_2: string, _arg_3: string)
{
this._video = k;
this._title = _arg_2;
this._description = _arg_3;
}
public get video():string
{
return this._video;
}
public get title():string
{
return this._title;
}
public get description():string
{
return this._description;
}
}

View File

@ -0,0 +1,46 @@
import { IMessageDataWrapper } from '../../../../../../../core';
import { IMessageParser } from '../../../../../../../core/communication/messages/IMessageParser';
import { YoutubeDisplayPlaylist } from './YoutubeDisplayPlaylist';
export class YoutubeDisplayPlaylistsMessageParser implements IMessageParser
{
private _furniId:number;
private _playlists:YoutubeDisplayPlaylist[];
private _selectedPlaylistId:string;
flush(): boolean
{
this._furniId = -1;
this._playlists = null;
this._selectedPlaylistId = null;
return true;
}
parse(wrapper: IMessageDataWrapper): boolean
{
this._furniId = wrapper.readInt();
const count = wrapper.readInt();
this._playlists = [];
for(let i = 0; i < count; i++)
{
this._playlists.push(new YoutubeDisplayPlaylist(wrapper.readString(), wrapper.readString(), wrapper.readString()));
}
this._selectedPlaylistId = wrapper.readString();
return true;
}
public get furniId():number
{
return this._furniId;
}
public get playlists():YoutubeDisplayPlaylist[]
{
return this._playlists;
}
public get selectedPlaylistId():string
{
return this._selectedPlaylistId;
}
}

View File

@ -0,0 +1,51 @@
import { IMessageParser } from '../../../../../../..';
import { IMessageDataWrapper } from '../../../../../../../core';
export class YoutubeDisplayVideoMessageParser implements IMessageParser
{
private _furniId:number;
private _videoId:string;
private _startAtSeconds:number;
private _endAtSeconds:number;
private _state:number;
flush(): boolean
{
return true;
}
parse(wrapper: IMessageDataWrapper): boolean
{
this._furniId = wrapper.readInt();
this._videoId = wrapper.readString();
this._startAtSeconds = wrapper.readInt();
this._endAtSeconds = wrapper.readInt();
this._state = wrapper.readInt();
return true;
}
public get furniId():number
{
return this._furniId;
}
public get videoId():string
{
return this._videoId;
}
public get state():number
{
return this._state;
}
public get startAtSeconds(): number
{
return this._startAtSeconds;
}
public get endAtSeconds(): number
{
return this._endAtSeconds;
}
}

View File

@ -0,0 +1,4 @@
export * from './YoutubeControlVideoMessageParser';
export * from './YoutubeDisplayPlaylist';
export * from './YoutubeDisplayPlaylistsMessageParser';
export * from './YoutubeDisplayVideoMessageParser';