Fix things skelly broke

This commit is contained in:
Bill 2021-06-24 12:47:40 -04:00
parent ee324edea0
commit 78c25c21ee
8 changed files with 43 additions and 29 deletions

View File

@ -5,7 +5,6 @@ import { TransitionAnimationTypes } from './TransitionAnimation.types';
export function getTransitionAnimationStyle(type: string, transition: TransitionStatus, timeout: number = 300): Partial<CSSProperties>
{
console.log(type, transition, timeout);
switch(type)
{
case TransitionAnimationTypes.BOUNCE:
@ -94,7 +93,6 @@ export function getTransitionAnimationStyle(type: string, transition: Transition
default:
return {}
case ENTERING:
console.log('ya????')
return {
animationName: `fadeIn`,
animationDuration: `${ timeout }ms`

View File

@ -32,7 +32,7 @@ export class RoomWidgetUpdateInfostandPetEvent extends RoomWidgetUpdateInfostand
public saddle: boolean = false;
public rider: boolean = false;
public breedable: boolean = false;
public Str_4460: number[] = [];
public skillTresholds: number[] = [];
public publiclyRideable: number = 0;
public fullyGrown: boolean = false;
public dead: boolean = false;

View File

@ -1,4 +1,4 @@
import { IFurnitureData, Nitro, NitroEvent, ObjectDataFactory, PetFigureData, PetType, RoomAdsUpdateComposer, RoomControllerLevel, RoomModerationParser, RoomObjectCategory, RoomObjectOperationType, RoomObjectType, RoomObjectVariable, RoomSessionPetInfoUpdateEvent, RoomSessionUserBadgesEvent, RoomTradingLevelEnum, RoomUnitDropHandItemComposer, RoomUnitGiveHandItemComposer, RoomUnitGiveHandItemPetComposer, RoomUserData, RoomWidgetEnumItemExtradataParameter, SecurityLevel, Vector3d } from 'nitro-renderer';
import { IFurnitureData, Nitro, NitroEvent, ObjectDataFactory, PetFigureData, PetType, RoomAdsUpdateComposer, RoomControllerLevel, RoomModerationSettings, RoomObjectCategory, RoomObjectOperationType, RoomObjectType, RoomObjectVariable, RoomSessionPetInfoUpdateEvent, RoomSessionUserBadgesEvent, RoomTradingLevelEnum, RoomUnitDropHandItemComposer, RoomUnitGiveHandItemComposer, RoomUnitGiveHandItemPetComposer, RoomUserData, RoomWidgetEnumItemExtradataParameter, SecurityLevel, Vector3d } from 'nitro-renderer';
import { GetConnection, GetRoomEngine, GetSessionDataManager, IsOwnerOfFurniture } from '../../../api';
import { LocalizeText } from '../../../utils/LocalizeText';
import { RoomWidgetObjectNameEvent, RoomWidgetUpdateEvent, RoomWidgetUpdateInfostandFurniEvent, RoomWidgetUpdateInfostandPetEvent, RoomWidgetUpdateInfostandRentableBotEvent, RoomWidgetUpdateInfostandUserEvent } from '../events';
@ -498,14 +498,14 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
{
switch(tradeMode)
{
case RoomTradingLevelEnum._Str_14475: {
case RoomTradingLevelEnum.ROOM_CONTROLLER_REQUIRED: {
const roomController = ((event.roomControllerLevel !== RoomControllerLevel.NONE) && (event.roomControllerLevel !== RoomControllerLevel.GUILD_MEMBER));
const targetController = ((event.targetRoomControllerLevel !== RoomControllerLevel.NONE) && (event.targetRoomControllerLevel !== RoomControllerLevel.GUILD_MEMBER));
event.canTrade = (roomController || targetController);
break;
}
case RoomTradingLevelEnum._Str_9173:
case RoomTradingLevelEnum.NO_TRADING:
event.canTrade = true;
break;
default:
@ -518,7 +518,7 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
if(isShuttingDown) event.canTradeReason = RoomWidgetUpdateInfostandUserEvent.TRADE_REASON_SHUTDOWN;
if(tradeMode !== RoomTradingLevelEnum._Str_9173) event.canTradeReason = RoomWidgetUpdateInfostandUserEvent.TRADE_REASON_NO_TRADING;
if(tradeMode !== RoomTradingLevelEnum.FREE_TRADING) event.canTradeReason = RoomWidgetUpdateInfostandUserEvent.TRADE_REASON_NO_TRADING;
// const _local_12 = GetSessionDataManager().userId;
// _local_13 = GetSessionDataManager()._Str_18437(_local_12);
@ -590,7 +590,7 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
private processPetInfoEvent(event: RoomSessionPetInfoUpdateEvent): void
{
const petData = event._Str_24727;
const petData = event.petInfo;
if(!petData) return;
@ -604,7 +604,7 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
if(figure.typeId === PetType.MONSTERPLANT)
{
if(petData.level >= petData._Str_20651) posture = 'std';
if(petData.level >= petData.adultLevel) posture = 'std';
else posture = ('grw' + petData.level);
}
@ -639,7 +639,7 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
infostandEvent.fullyGrown = petData.fullyGrown;
infostandEvent.dead = petData.dead;
infostandEvent.rarityLevel = petData.rarityLevel;
infostandEvent.Str_4460 = petData._Str_3307;
infostandEvent.skillTresholds = petData.skillTresholds;
infostandEvent.canRemovePet = false;
infostandEvent.publiclyRideable = petData.publiclyRideable;
infostandEvent.maximumTimeToLive = petData.maximumTimeToLive;
@ -668,11 +668,11 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
private canBeMuted(event: RoomWidgetUpdateInfostandUserEvent): boolean
{
const checkSetting = (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationParser) =>
const checkSetting = (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationSettings) =>
{
switch(moderation.allowMute)
{
case RoomModerationParser._Str_5047:
case RoomModerationSettings.MODERATION_LEVEL_USER_WITH_RIGHTS:
return this.checkGuildSetting(event);
default:
return (event.roomControllerLevel >= RoomControllerLevel.ROOM_OWNER);
@ -684,13 +684,13 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
private canBeKicked(event: RoomWidgetUpdateInfostandUserEvent): boolean
{
const checkSetting = (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationParser) =>
const checkSetting = (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationSettings) =>
{
switch(moderation.allowKick)
{
case RoomModerationParser._Str_11537:
case RoomModerationSettings.MODERATION_LEVEL_ALL:
return true;
case RoomModerationParser._Str_5047:
case RoomModerationSettings.MODERATION_LEVEL_USER_WITH_RIGHTS:
return this.checkGuildSetting(event);
default:
return (event.roomControllerLevel >= RoomControllerLevel.ROOM_OWNER);
@ -702,11 +702,11 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
private canBeBanned(event: RoomWidgetUpdateInfostandUserEvent): boolean
{
const checkSetting = (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationParser) =>
const checkSetting = (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationSettings) =>
{
switch(moderation.allowBan)
{
case RoomModerationParser._Str_5047:
case RoomModerationSettings.MODERATION_LEVEL_USER_WITH_RIGHTS:
return this.checkGuildSetting(event);
default:
return (event.roomControllerLevel >= RoomControllerLevel.ROOM_OWNER);
@ -716,7 +716,7 @@ export class RoomWidgetInfostandHandler extends RoomWidgetHandler
return this.isValidSetting(event, checkSetting);
}
private isValidSetting(event: RoomWidgetUpdateInfostandUserEvent, checkSetting: (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationParser) => boolean): boolean
private isValidSetting(event: RoomWidgetUpdateInfostandUserEvent, checkSetting: (event: RoomWidgetUpdateInfostandUserEvent, moderation: RoomModerationSettings) => boolean): boolean
{
if(!this.roomSession._Str_7411) return false;

View File

@ -127,6 +127,7 @@ export const AvatarInfoWidgetView: FC<AvatarInfoWidgetViewProps> = props =>
CreateEventDispatcherHook(RoomWidgetUpdateInfostandUserEvent.PEER, eventDispatcher, onRoomWidgetUpdateInfostandEvent);
CreateEventDispatcherHook(RoomWidgetUpdateInfostandUserEvent.BOT, eventDispatcher, onRoomWidgetUpdateInfostandEvent);
CreateEventDispatcherHook(RoomWidgetUpdateInfostandRentableBotEvent.RENTABLE_BOT, eventDispatcher, onRoomWidgetUpdateInfostandEvent);
CreateEventDispatcherHook(RoomWidgetUpdateInfostandPetEvent.PET_INFO, eventDispatcher, onRoomWidgetUpdateInfostandEvent);
const onRoomWidgetUpdateDanceStatusEvent = useCallback((event: RoomWidgetUpdateDanceStatusEvent) =>
{
@ -165,7 +166,7 @@ export const AvatarInfoWidgetView: FC<AvatarInfoWidgetViewProps> = props =>
const userName = GetSessionDataManager().userName;
const roomIndex = GetRoomSession().ownRoomIndex;
return <AvatarInfoWidgetDecorateView userId={ userId } userName={ userName } roomIndex={ roomIndex } />;
return <AvatarInfoWidgetDecorateView userId={ userId } userName={ userName } roomIndex={ roomIndex } setIsDecorating={ setIsDecorating } />;
}, [ isDecorating ]);
const clearInfoStandEvent = useCallback(() =>
@ -197,7 +198,7 @@ export const AvatarInfoWidgetView: FC<AvatarInfoWidgetViewProps> = props =>
{
if(RoomEnterEffect.isRunning()) return null;
return <AvatarInfoWidgetOwnAvatarView userData={ event } isDancing={ isDancing } close={ clearInfoStandEvent } />;
return <AvatarInfoWidgetOwnAvatarView userData={ event } isDancing={ isDancing } setIsDecorating={ setIsDecorating } close={ clearInfoStandEvent } />;
}
return <AvatarInfoWidgetAvatarView userData={ event } close={ clearInfoStandEvent } />;
@ -222,7 +223,7 @@ export const AvatarInfoWidgetView: FC<AvatarInfoWidgetViewProps> = props =>
}
return null;
}, [ isGameMode, decorateView, name, infoStandEvent ]);
}, [ isGameMode, decorateView, name, isDancing, infoStandEvent, clearInfoStandEvent ]);
return (
<>

View File

@ -1,9 +1,22 @@
import { RoomObjectCategory } from 'nitro-renderer';
import { FC } from 'react';
import { LocalizeText } from '../../../../../../utils/LocalizeText';
import { ContextMenuView } from '../../../context-menu/ContextMenuView';
import { ContextMenuListItemView } from '../../../context-menu/views/list-item/ContextMenuListItemView';
import { ContextMenuListView } from '../../../context-menu/views/list/ContextMenuListView';
import { AvatarInfoWidgetDecorateViewProps } from './AvatarInfoWidgetDecorateView.types';
export const AvatarInfoWidgetDecorateView: FC<AvatarInfoWidgetDecorateViewProps> = props =>
{
const { userId = -1, userName = '', roomIndex = -1 } = props;
const { userId = -1, userName = '', roomIndex = -1, setIsDecorating = null } = props;
return null;
return (
<ContextMenuView objectId={ roomIndex } category={ RoomObjectCategory.UNIT } onClose={ null }>
<ContextMenuListView>
<ContextMenuListItemView onClick={ event => setIsDecorating(false) }>
{ LocalizeText('widget.avatar.stop_decorating') }
</ContextMenuListItemView>
</ContextMenuListView>
</ContextMenuView>
)
}

View File

@ -1,6 +1,9 @@
import { Dispatch, SetStateAction } from 'react';
export interface AvatarInfoWidgetDecorateViewProps
{
userId: number;
userName: string;
roomIndex: number;
setIsDecorating: Dispatch<SetStateAction<boolean>>;
}

View File

@ -19,7 +19,7 @@ const MODE_CHANGE_LOOKS = 5;
export const AvatarInfoWidgetOwnAvatarView: FC<AvatarInfoWidgetOwnAvatarViewProps> = props =>
{
const { userData = null, isDancing = false, close = null } = props;
const { userData = null, isDancing = false, setIsDecorating = null, close = null } = props;
const [ mode, setMode ] = useState((isDancing && HasHabboClub()) ? MODE_CLUB_DANCES : MODE_NORMAL);
const { roomSession = null, widgetHandler = null } = useRoomContext();
@ -41,10 +41,7 @@ export const AvatarInfoWidgetOwnAvatarView: FC<AvatarInfoWidgetOwnAvatarViewProp
switch(name)
{
case 'decorate':
// if(this.widget.hasClub)
// {
// this.widget.isDecorating = true;
// }
setIsDecorating(true);
break;
case 'change_looks':
break;
@ -104,7 +101,7 @@ export const AvatarInfoWidgetOwnAvatarView: FC<AvatarInfoWidgetOwnAvatarViewProp
}
if(hideMenu) close();
}, [ roomSession, userData, widgetHandler, close ]);
}, [ roomSession, widgetHandler, userData, setIsDecorating, close ]);
const isRidingHorse = IsRidingHorse();

View File

@ -1,8 +1,10 @@
import { Dispatch, SetStateAction } from 'react';
import { RoomWidgetUpdateInfostandUserEvent } from '../../../../events';
export interface AvatarInfoWidgetOwnAvatarViewProps
{
userData: RoomWidgetUpdateInfostandUserEvent;
isDancing: boolean;
setIsDecorating: Dispatch<SetStateAction<boolean>>;
close: () => void;
}