mirror of
https://github.com/billsonnn/nitro-react.git
synced 2024-11-23 14:40:50 +01:00
Update widgets
This commit is contained in:
parent
77b9779b80
commit
ff9d24cd21
@ -1,5 +1,5 @@
|
|||||||
import { NitroEvent, RoomEngineUseProductEvent, RoomObjectCategory, RoomObjectType, RoomObjectVariable, RoomSessionDanceEvent, RoomSessionUserDataUpdateEvent, RoomWidgetEnum } from '@nitrots/nitro-renderer';
|
import { NitroEvent, RoomEngineUseProductEvent, RoomObjectCategory, RoomObjectType, RoomObjectVariable, RoomSessionDanceEvent, RoomSessionPetStatusUpdateEvent, RoomSessionUserDataUpdateEvent, RoomWidgetEnum } from '@nitrots/nitro-renderer';
|
||||||
import { GetRoomEngine, GetRoomSession, GetSessionDataManager, IsOwnerOfFurniture } from '../../../..';
|
import { GetRoomEngine, GetSessionDataManager, IsOwnerOfFurniture } from '../../../..';
|
||||||
import { FurniCategory } from '../../../../../components/inventory/common/FurniCategory';
|
import { FurniCategory } from '../../../../../components/inventory/common/FurniCategory';
|
||||||
import { RoomWidgetAvatarInfoEvent, RoomWidgetUpdateDanceStatusEvent, RoomWidgetUpdateEvent, RoomWidgetUpdateUserDataEvent, RoomWidgetUseProductBubbleEvent, UseProductItem } from '../events';
|
import { RoomWidgetAvatarInfoEvent, RoomWidgetUpdateDanceStatusEvent, RoomWidgetUpdateEvent, RoomWidgetUpdateUserDataEvent, RoomWidgetUseProductBubbleEvent, UseProductItem } from '../events';
|
||||||
import { RoomWidgetAvatarExpressionMessage, RoomWidgetChangePostureMessage, RoomWidgetDanceMessage, RoomWidgetMessage, RoomWidgetRoomObjectMessage, RoomWidgetUseProductMessage, RoomWidgetUserActionMessage } from '../messages';
|
import { RoomWidgetAvatarExpressionMessage, RoomWidgetChangePostureMessage, RoomWidgetDanceMessage, RoomWidgetMessage, RoomWidgetRoomObjectMessage, RoomWidgetUseProductMessage, RoomWidgetUserActionMessage } from '../messages';
|
||||||
@ -19,7 +19,7 @@ export class RoomWidgetAvatarInfoHandler extends RoomWidgetHandler
|
|||||||
|
|
||||||
let isDancing = false;
|
let isDancing = false;
|
||||||
|
|
||||||
const userData = GetRoomSession().userDataManager.getUserData(GetSessionDataManager().userId);
|
const userData = this.container.roomSession.userDataManager.getUserData(GetSessionDataManager().userId);
|
||||||
|
|
||||||
if(userData && (userData.roomIndex === danceEvent.roomIndex)) isDancing = (danceEvent.danceId !== 0);
|
if(userData && (userData.roomIndex === danceEvent.roomIndex)) isDancing = (danceEvent.danceId !== 0);
|
||||||
|
|
||||||
@ -30,6 +30,9 @@ export class RoomWidgetAvatarInfoHandler extends RoomWidgetHandler
|
|||||||
case RoomEngineUseProductEvent.USE_PRODUCT_FROM_ROOM:
|
case RoomEngineUseProductEvent.USE_PRODUCT_FROM_ROOM:
|
||||||
this.processUsableRoomObject((event as RoomEngineUseProductEvent).objectId);
|
this.processUsableRoomObject((event as RoomEngineUseProductEvent).objectId);
|
||||||
return;
|
return;
|
||||||
|
case RoomSessionPetStatusUpdateEvent.PET_STATUS_UPDATE:
|
||||||
|
this.processRoomSessionPetStatusUpdateEvent((event as RoomSessionPetStatusUpdateEvent));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,28 +47,39 @@ export class RoomWidgetAvatarInfoHandler extends RoomWidgetHandler
|
|||||||
case RoomWidgetRoomObjectMessage.GET_OWN_CHARACTER_INFO:
|
case RoomWidgetRoomObjectMessage.GET_OWN_CHARACTER_INFO:
|
||||||
this.processOwnCharacterInfo();
|
this.processOwnCharacterInfo();
|
||||||
break;
|
break;
|
||||||
|
case RoomWidgetUserActionMessage.START_NAME_CHANGE:
|
||||||
|
// habbo help - start name change
|
||||||
|
break;
|
||||||
|
case RoomWidgetUserActionMessage.REQUEST_PET_UPDATE:
|
||||||
|
break;
|
||||||
|
case RoomWidgetUseProductMessage.PET_PRODUCT: {
|
||||||
|
const productMessage = (message as RoomWidgetUseProductMessage);
|
||||||
|
|
||||||
|
this.container.roomSession.usePetProduct(productMessage.objectId, productMessage.petId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case RoomWidgetUserActionMessage.HARVEST_PET:
|
||||||
|
this.container.roomSession.harvestPet(userId);
|
||||||
|
break;
|
||||||
|
case RoomWidgetUserActionMessage.COMPOST_PLANT:
|
||||||
|
this.container.roomSession.compostPlant(userId);
|
||||||
|
break;
|
||||||
case RoomWidgetDanceMessage.DANCE: {
|
case RoomWidgetDanceMessage.DANCE: {
|
||||||
const danceMessage = (message as RoomWidgetDanceMessage);
|
const danceMessage = (message as RoomWidgetDanceMessage);
|
||||||
|
|
||||||
GetRoomSession().sendDanceMessage(danceMessage.style);
|
this.container.roomSession.sendDanceMessage(danceMessage.style);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RoomWidgetAvatarExpressionMessage.AVATAR_EXPRESSION: {
|
case RoomWidgetAvatarExpressionMessage.AVATAR_EXPRESSION: {
|
||||||
const expressionMessage = (message as RoomWidgetAvatarExpressionMessage);
|
const expressionMessage = (message as RoomWidgetAvatarExpressionMessage);
|
||||||
|
|
||||||
GetRoomSession().sendExpressionMessage(expressionMessage.animation.ordinal)
|
this.container.roomSession.sendExpressionMessage(expressionMessage.animation.ordinal)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RoomWidgetChangePostureMessage.CHANGE_POSTURE: {
|
case RoomWidgetChangePostureMessage.CHANGE_POSTURE: {
|
||||||
const postureMessage = (message as RoomWidgetChangePostureMessage);
|
const postureMessage = (message as RoomWidgetChangePostureMessage);
|
||||||
|
|
||||||
GetRoomSession().sendPostureMessage(postureMessage.posture);
|
this.container.roomSession.sendPostureMessage(postureMessage.posture);
|
||||||
break;
|
|
||||||
}
|
|
||||||
case RoomWidgetUseProductMessage.PET_PRODUCT: {
|
|
||||||
const productMessage = (message as RoomWidgetUseProductMessage);
|
|
||||||
|
|
||||||
GetRoomSession().usePetProduct(productMessage.objectId, productMessage.petId);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -78,9 +92,11 @@ export class RoomWidgetAvatarInfoHandler extends RoomWidgetHandler
|
|||||||
const userId = GetSessionDataManager().userId;
|
const userId = GetSessionDataManager().userId;
|
||||||
const userName = GetSessionDataManager().userName;
|
const userName = GetSessionDataManager().userName;
|
||||||
const allowNameChange = GetSessionDataManager().canChangeName;
|
const allowNameChange = GetSessionDataManager().canChangeName;
|
||||||
const userData = GetRoomSession().userDataManager.getUserData(userId);
|
const userData = this.container.roomSession.userDataManager.getUserData(userId);
|
||||||
|
|
||||||
if(userData) this.container.eventDispatcher.dispatchEvent(new RoomWidgetAvatarInfoEvent(userId, userName, userData.type, userData.roomIndex, allowNameChange));
|
if(!userData) return;
|
||||||
|
|
||||||
|
this.container.eventDispatcher.dispatchEvent(new RoomWidgetAvatarInfoEvent(userId, userName, userData.type, userData.roomIndex, allowNameChange));
|
||||||
}
|
}
|
||||||
|
|
||||||
private processUsableRoomObject(objectId: number): void
|
private processUsableRoomObject(objectId: number): void
|
||||||
@ -151,6 +167,11 @@ export class RoomWidgetAvatarInfoHandler extends RoomWidgetHandler
|
|||||||
if(useProductBubbles.length) this.container.eventDispatcher.dispatchEvent(new RoomWidgetUseProductBubbleEvent(RoomWidgetUseProductBubbleEvent.USE_PRODUCT_BUBBLES, useProductBubbles));
|
if(useProductBubbles.length) this.container.eventDispatcher.dispatchEvent(new RoomWidgetUseProductBubbleEvent(RoomWidgetUseProductBubbleEvent.USE_PRODUCT_BUBBLES, useProductBubbles));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private processRoomSessionPetStatusUpdateEvent(event: RoomSessionPetStatusUpdateEvent): void
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public get type(): string
|
public get type(): string
|
||||||
{
|
{
|
||||||
return RoomWidgetEnum.AVATAR_INFO;
|
return RoomWidgetEnum.AVATAR_INFO;
|
||||||
@ -162,18 +183,29 @@ export class RoomWidgetAvatarInfoHandler extends RoomWidgetHandler
|
|||||||
RoomSessionUserDataUpdateEvent.USER_DATA_UPDATED,
|
RoomSessionUserDataUpdateEvent.USER_DATA_UPDATED,
|
||||||
RoomSessionDanceEvent.RSDE_DANCE,
|
RoomSessionDanceEvent.RSDE_DANCE,
|
||||||
RoomEngineUseProductEvent.USE_PRODUCT_FROM_INVENTORY,
|
RoomEngineUseProductEvent.USE_PRODUCT_FROM_INVENTORY,
|
||||||
RoomEngineUseProductEvent.USE_PRODUCT_FROM_ROOM
|
RoomEngineUseProductEvent.USE_PRODUCT_FROM_ROOM,
|
||||||
|
RoomSessionPetStatusUpdateEvent.PET_STATUS_UPDATE
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UserNameUpdateEvent.UNUE_NAME_UPDATED
|
||||||
|
// RoomSessionNestBreedingSuccessEvent.RSPFUE_NEST_BREEDING_SUCCESS
|
||||||
|
// RoomSessionPetLevelUpdateEvent.RSPLUE_PET_LEVEL_UPDATE
|
||||||
|
|
||||||
public get messageTypes(): string[]
|
public get messageTypes(): string[]
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
RoomWidgetRoomObjectMessage.GET_OWN_CHARACTER_INFO,
|
RoomWidgetRoomObjectMessage.GET_OWN_CHARACTER_INFO,
|
||||||
|
RoomWidgetUserActionMessage.START_NAME_CHANGE,
|
||||||
|
RoomWidgetUserActionMessage.REQUEST_PET_UPDATE,
|
||||||
|
RoomWidgetUseProductMessage.PET_PRODUCT,
|
||||||
|
RoomWidgetUserActionMessage.REQUEST_BREED_PET,
|
||||||
|
RoomWidgetUserActionMessage.HARVEST_PET,
|
||||||
|
RoomWidgetUserActionMessage.REVIVE_PET,
|
||||||
|
RoomWidgetUserActionMessage.COMPOST_PLANT,
|
||||||
RoomWidgetDanceMessage.DANCE,
|
RoomWidgetDanceMessage.DANCE,
|
||||||
RoomWidgetAvatarExpressionMessage.AVATAR_EXPRESSION,
|
RoomWidgetAvatarExpressionMessage.AVATAR_EXPRESSION,
|
||||||
RoomWidgetChangePostureMessage.CHANGE_POSTURE,
|
RoomWidgetChangePostureMessage.CHANGE_POSTURE,
|
||||||
RoomWidgetUseProductMessage.PET_PRODUCT
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IFurnitureData, NitroEvent, ObjectDataFactory, PetFigureData, PetRespectComposer, PetSupplementComposer, PetType, RoomControllerLevel, RoomModerationSettings, RoomObjectCategory, RoomObjectOperationType, RoomObjectType, RoomObjectVariable, RoomSessionPetInfoUpdateEvent, RoomSessionUserBadgesEvent, RoomTradingLevelEnum, RoomUnitDropHandItemComposer, RoomUnitGiveHandItemComposer, RoomUnitGiveHandItemPetComposer, RoomUserData, RoomWidgetEnum, RoomWidgetEnumItemExtradataParameter, Vector3d } from '@nitrots/nitro-renderer';
|
import { IFurnitureData, NitroEvent, ObjectDataFactory, PetFigureData, PetRespectComposer, PetSupplementComposer, PetType, RoomControllerLevel, RoomModerationSettings, RoomObjectCategory, RoomObjectOperationType, RoomObjectType, RoomObjectVariable, RoomSessionPetInfoUpdateEvent, RoomSessionUserBadgesEvent, RoomSessionUserFigureUpdateEvent, RoomTradingLevelEnum, RoomUnitDropHandItemComposer, RoomUnitGiveHandItemComposer, RoomUnitGiveHandItemPetComposer, RoomUserData, RoomWidgetEnum, RoomWidgetEnumItemExtradataParameter, Vector3d } from '@nitrots/nitro-renderer';
|
||||||
import { GetNitroInstance, GetRoomEngine, GetSessionDataManager, IsOwnerOfFurniture } from '../../../..';
|
import { GetNitroInstance, GetRoomEngine, GetSessionDataManager, IsOwnerOfFurniture } from '../../../..';
|
||||||
import { InventoryTradeRequestEvent, WiredSelectObjectEvent } from '../../../../../events';
|
import { InventoryTradeRequestEvent, WiredSelectObjectEvent } from '../../../../../events';
|
||||||
import { FriendsSendFriendRequestEvent } from '../../../../../events/friends/FriendsSendFriendRequestEvent';
|
import { FriendsSendFriendRequestEvent } from '../../../../../events/friends/FriendsSendFriendRequestEvent';
|
||||||
@ -24,6 +24,9 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
|
|||||||
case RoomSessionUserBadgesEvent.RSUBE_BADGES:
|
case RoomSessionUserBadgesEvent.RSUBE_BADGES:
|
||||||
this.container.eventDispatcher.dispatchEvent(event);
|
this.container.eventDispatcher.dispatchEvent(event);
|
||||||
return;
|
return;
|
||||||
|
case RoomSessionUserFigureUpdateEvent.USER_FIGURE:
|
||||||
|
this.processRoomSessionUserFigureUpdateEvent((event as RoomSessionUserFigureUpdateEvent));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -661,6 +664,17 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
|
|||||||
this.container.eventDispatcher.dispatchEvent(infostandEvent);
|
this.container.eventDispatcher.dispatchEvent(infostandEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private processRoomSessionUserFigureUpdateEvent(event: RoomSessionUserFigureUpdateEvent): void
|
||||||
|
{
|
||||||
|
const userData = this.container.roomSession.userDataManager.getUserDataByIndex(event.userId);
|
||||||
|
|
||||||
|
if(!userData) return;
|
||||||
|
|
||||||
|
// update active infostand figure
|
||||||
|
// update motto
|
||||||
|
// update activity points
|
||||||
|
}
|
||||||
|
|
||||||
private checkGuildSetting(event: RoomWidgetUpdateInfostandUserEvent): boolean
|
private checkGuildSetting(event: RoomWidgetUpdateInfostandUserEvent): boolean
|
||||||
{
|
{
|
||||||
if(event.isGuildRoom) return (event.roomControllerLevel >= RoomControllerLevel.GUILD_ADMIN);
|
if(event.isGuildRoom) return (event.roomControllerLevel >= RoomControllerLevel.GUILD_ADMIN);
|
||||||
@ -766,7 +780,8 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
RoomSessionPetInfoUpdateEvent.PET_INFO,
|
RoomSessionPetInfoUpdateEvent.PET_INFO,
|
||||||
RoomSessionUserBadgesEvent.RSUBE_BADGES
|
RoomSessionUserBadgesEvent.RSUBE_BADGES,
|
||||||
|
RoomSessionUserFigureUpdateEvent.USER_FIGURE
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { RoomEngineEvent, RoomEngineObjectEvent, RoomEngineRoomAdEvent, RoomEngineTriggerWidgetEvent, RoomEngineUseProductEvent, RoomId, RoomObjectCategory, RoomObjectOperationType, RoomObjectVariable, RoomSessionChatEvent, RoomSessionDanceEvent, RoomSessionDimmerPresetsEvent, RoomSessionDoorbellEvent, RoomSessionErrorMessageEvent, RoomSessionEvent, RoomSessionFriendRequestEvent, RoomSessionPetInfoUpdateEvent, RoomSessionPollEvent, RoomSessionPresentEvent, RoomSessionUserBadgesEvent, RoomSessionWordQuizEvent, RoomZoomEvent } from '@nitrots/nitro-renderer';
|
import { RoomEngineEvent, RoomEngineObjectEvent, RoomEngineRoomAdEvent, RoomEngineTriggerWidgetEvent, RoomEngineUseProductEvent, RoomId, RoomObjectCategory, RoomObjectOperationType, RoomObjectVariable, RoomSessionChatEvent, RoomSessionDanceEvent, RoomSessionDimmerPresetsEvent, RoomSessionDoorbellEvent, RoomSessionErrorMessageEvent, RoomSessionEvent, RoomSessionFriendRequestEvent, RoomSessionPetInfoUpdateEvent, RoomSessionPetStatusUpdateEvent, RoomSessionPollEvent, RoomSessionPresentEvent, RoomSessionUserBadgesEvent, RoomSessionUserFigureUpdateEvent, RoomSessionWordQuizEvent, RoomZoomEvent } from '@nitrots/nitro-renderer';
|
||||||
import { FC, useCallback } from 'react';
|
import { FC, useCallback } from 'react';
|
||||||
import { CanManipulateFurniture, GetRoomEngine, GetSessionDataManager, IsFurnitureSelectionDisabled, LocalizeText, ProcessRoomObjectOperation, RoomWidgetFurniToWidgetMessage, RoomWidgetUpdateRoomEngineEvent, RoomWidgetUpdateRoomObjectEvent } from '../../../api';
|
import { CanManipulateFurniture, GetRoomEngine, GetSessionDataManager, IsFurnitureSelectionDisabled, LocalizeText, ProcessRoomObjectOperation, RoomWidgetFurniToWidgetMessage, RoomWidgetUpdateRoomEngineEvent, RoomWidgetUpdateRoomObjectEvent } from '../../../api';
|
||||||
import { FriendRequestEvent } from '../../../events';
|
import { FriendRequestEvent } from '../../../events';
|
||||||
@ -264,6 +264,8 @@ export const RoomWidgetsView: FC<{}> = props =>
|
|||||||
useRoomSessionManagerEvent(RoomSessionChatEvent.FLOOD_EVENT, onRoomSessionEvent);
|
useRoomSessionManagerEvent(RoomSessionChatEvent.FLOOD_EVENT, onRoomSessionEvent);
|
||||||
useRoomSessionManagerEvent(RoomSessionDanceEvent.RSDE_DANCE, onRoomSessionEvent);
|
useRoomSessionManagerEvent(RoomSessionDanceEvent.RSDE_DANCE, onRoomSessionEvent);
|
||||||
useRoomSessionManagerEvent(RoomSessionUserBadgesEvent.RSUBE_BADGES, onRoomSessionEvent);
|
useRoomSessionManagerEvent(RoomSessionUserBadgesEvent.RSUBE_BADGES, onRoomSessionEvent);
|
||||||
|
useRoomSessionManagerEvent(RoomSessionUserFigureUpdateEvent.USER_FIGURE, onRoomSessionEvent);
|
||||||
|
useRoomSessionManagerEvent(RoomSessionPetStatusUpdateEvent.PET_STATUS_UPDATE, onRoomSessionEvent);
|
||||||
useRoomSessionManagerEvent(RoomSessionDoorbellEvent.DOORBELL, onRoomSessionEvent);
|
useRoomSessionManagerEvent(RoomSessionDoorbellEvent.DOORBELL, onRoomSessionEvent);
|
||||||
useRoomSessionManagerEvent(RoomSessionDoorbellEvent.RSDE_REJECTED, onRoomSessionEvent);
|
useRoomSessionManagerEvent(RoomSessionDoorbellEvent.RSDE_REJECTED, onRoomSessionEvent);
|
||||||
useRoomSessionManagerEvent(RoomSessionDoorbellEvent.RSDE_ACCEPTED, onRoomSessionEvent);
|
useRoomSessionManagerEvent(RoomSessionDoorbellEvent.RSDE_ACCEPTED, onRoomSessionEvent);
|
||||||
|
@ -204,10 +204,10 @@ export const AvatarInfoWidgetOwnPetView: FC<AvatarInfoWidgetOwnPetViewProps> = p
|
|||||||
<ContextMenuListItemView onClick={ event => processAction('revive') }>
|
<ContextMenuListItemView onClick={ event => processAction('revive') }>
|
||||||
{ LocalizeText('infostand.button.revive') }
|
{ LocalizeText('infostand.button.revive') }
|
||||||
</ContextMenuListItemView> }
|
</ContextMenuListItemView> }
|
||||||
{ roomSession.isRoomOwner &&
|
{ roomSession.isRoomOwner &&
|
||||||
<ContextMenuListItemView onClick={ event => processAction('compost') }>
|
<ContextMenuListItemView onClick={ event => processAction('compost') }>
|
||||||
{ LocalizeText('infostand.button.compost') }
|
{ LocalizeText('infostand.button.compost') }
|
||||||
</ContextMenuListItemView> }
|
</ContextMenuListItemView> }
|
||||||
{ !petData.dead && ((petData.energy / petData.maximumEnergy) < 0.98) &&
|
{ !petData.dead && ((petData.energy / petData.maximumEnergy) < 0.98) &&
|
||||||
<ContextMenuListItemView onClick={ event => processAction('treat') }>
|
<ContextMenuListItemView onClick={ event => processAction('treat') }>
|
||||||
{ LocalizeText('infostand.button.treat') }
|
{ LocalizeText('infostand.button.treat') }
|
||||||
|
Loading…
Reference in New Issue
Block a user