From ebb8b993ef43e3a4ef1a5ee075f5f290cd22e53d Mon Sep 17 00:00:00 2001 From: Layne Date: Wed, 16 Mar 2022 15:19:32 -0400 Subject: [PATCH] optional sounds notif/resp --- public/ui-config.json.example | 4 ++++ .../nitro/room/widgets/handlers/RoomWidgetChatHandler.ts | 6 ++++-- src/api/notification/NotificationUtilities.ts | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/public/ui-config.json.example b/public/ui-config.json.example index 5463c31e..3410db79 100644 --- a/public/ui-config.json.example +++ b/public/ui-config.json.example @@ -59,6 +59,10 @@ "catalog.buy": "habbo_club", "catalog.gifts": "club_gifts" }, + "respect.options": { + "enabled": false, + "sound": "sound_respect_received" + }, "currency.display.number.short": false, "currency.asset.icon.url": "${images.url}/wallet/%type%.png", "catalog.asset.url": "${image.library.url}catalogue", diff --git a/src/api/nitro/room/widgets/handlers/RoomWidgetChatHandler.ts b/src/api/nitro/room/widgets/handlers/RoomWidgetChatHandler.ts index 53ca74f2..f0571e18 100644 --- a/src/api/nitro/room/widgets/handlers/RoomWidgetChatHandler.ts +++ b/src/api/nitro/room/widgets/handlers/RoomWidgetChatHandler.ts @@ -1,5 +1,5 @@ import { AvatarFigurePartType, AvatarScaleType, AvatarSetType, IAvatarImageListener, INitroPoint, IVector3D, NitroEvent, NitroPoint, PetFigureData, RoomObjectCategory, RoomObjectType, RoomObjectVariable, RoomSessionChatEvent, RoomWidgetEnum, SystemChatStyleEnum, TextureUtils, Vector3d } from '@nitrots/nitro-renderer'; -import { GetAvatarRenderManager, GetRoomEngine } from '../../../..'; +import { GetAvatarRenderManager, GetConfigurationManager, GetRoomEngine, PlaySound } from '../../../..'; import { LocalizeText } from '../../../../utils/LocalizeText'; import { RoomWidgetUpdateChatEvent, RoomWidgetUpdateEvent } from '../events'; import { RoomWidgetMessage } from '../messages'; @@ -63,7 +63,9 @@ export class RoomWidgetChatHandler extends RoomWidgetHandler implements IAvatarI switch(chatType) { case RoomSessionChatEvent.CHAT_TYPE_RESPECT: - text = LocalizeText('widgets.chatbubble.respect', [ 'username' ], [ username ]); + text = LocalizeText('widgets.chatbubble.respect', ['username'], [username]); + if(GetConfigurationManager().getValue('respect.options')['enabled']) + PlaySound(GetConfigurationManager().getValue('respect.options')['sound']) break; case RoomSessionChatEvent.CHAT_TYPE_PETRESPECT: text = LocalizeText('widget.chatbubble.petrespect', [ 'petname' ], [ username ]); diff --git a/src/api/notification/NotificationUtilities.ts b/src/api/notification/NotificationUtilities.ts index 27979b52..f3311027 100644 --- a/src/api/notification/NotificationUtilities.ts +++ b/src/api/notification/NotificationUtilities.ts @@ -1,5 +1,5 @@ import { HabboWebTools, RoomEnterEffect } from '@nitrots/nitro-renderer'; -import { CreateLinkEvent, GetConfiguration, GetNitroInstance, LocalizeText } from '..'; +import { CreateLinkEvent, GetConfiguration, GetNitroInstance, LocalizeText, PlaySound } from '..'; import { CatalogPageName } from '../../components/catalog/common/CatalogPageName'; import { NotificationAlertEvent, NotificationConfirmEvent } from '../../events'; import { NotificationBubbleEvent } from '../../events/notification-center/NotificationBubbleEvent'; @@ -86,6 +86,8 @@ export class NotificationUtilities { this.simpleAlert(message, NotificationAlertType.EVENT, linkUrl, linkTitle, title, image); } + + if(options.get('sound')) PlaySound(options.get('sound')); } public static showSingleBubble(message: string, type: string, imageUrl: string = null, internalLink: string = null): void