Merge branch 'dev' into @feature/game-center

This commit is contained in:
Bill 2022-11-09 17:56:16 -05:00
commit 111fa7f534
13 changed files with 49 additions and 58 deletions

View File

@ -16,11 +16,11 @@
"@fortawesome/fontawesome-svg-core": "^6.1.1",
"@fortawesome/free-solid-svg-icons": "^6.1.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"@nitrots/nitro-renderer": "^1.4.2",
"@nitrots/nitro-renderer": "^1.4.4",
"@tanstack/react-virtual": "^3.0.0-beta.18",
"animate.css": "^4.1.1",
"cross-env": "^7.0.3",
"emoji-toolkit": "^6.6.0",
"emoji-toolkit": "^7.0.0",
"react": "^18.2.0",
"react-bootstrap": "^2.2.2",
"react-dom": "^18.2.0",

View File

@ -1,5 +1,4 @@
import { IFurnitureItemData, IObjectData } from '@nitrots/nitro-renderer';
import { GetNitroInstance } from '../nitro';
import { GetTickerTime, IFurnitureItemData, IObjectData } from '@nitrots/nitro-renderer';
import { IFurnitureItem } from './IFurnitureItem';
export class FurnitureItem implements IFurnitureItem
@ -123,7 +122,7 @@ export class FurnitureItem implements IFurnitureItem
if(this._hasRentPeriodStarted)
{
time = (this._secondsToExpiration - ((GetNitroInstance().time - this._expirationTimeStamp) / 1000));
time = (this._secondsToExpiration - ((GetTickerTime() - this._expirationTimeStamp) / 1000));
if(time < 0) time = 0;
}

View File

@ -1,6 +0,0 @@
import { GetNitroInstance } from './GetNitroInstance';
export function GetTicker()
{
return GetNitroInstance().ticker;
}

View File

@ -9,7 +9,6 @@ export * from './GetConfiguration';
export * from './GetConnection';
export * from './GetLocalization';
export * from './GetNitroInstance';
export * from './GetTicker';
export * from './OpenUrl';
export * from './RemoveLinkEventTracker';
export * from './RemoveWorkerEventTracker';

View File

@ -1,5 +1,4 @@
import { HabboClubLevelEnum } from '@nitrots/nitro-renderer';
import { GetNitroInstance } from '..';
import { GetTickerTime, HabboClubLevelEnum } from '@nitrots/nitro-renderer';
import { IPurse } from './IPurse';
export class Purse implements IPurse
@ -42,7 +41,7 @@ export class Purse implements IPurse
public set credits(credits: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._credits = credits;
}
@ -53,7 +52,7 @@ export class Purse implements IPurse
public set activityPoints(k: Map<number, number>)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._activityPoints = k;
}
@ -64,7 +63,7 @@ export class Purse implements IPurse
public set clubDays(k: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._clubDays = k;
}
@ -75,7 +74,7 @@ export class Purse implements IPurse
public set clubPeriods(k: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._clubPeriods = k;
}
@ -101,7 +100,7 @@ export class Purse implements IPurse
public set pastClubDays(k: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._pastClubDays = k;
}
@ -112,7 +111,7 @@ export class Purse implements IPurse
public set pastVipDays(k: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._pastVipDays = k;
}
@ -128,14 +127,14 @@ export class Purse implements IPurse
public get minutesUntilExpiration(): number
{
var k: number = ((GetNitroInstance().time - this._lastUpdated) / (1000 * 60));
var k: number = ((GetTickerTime() - this._lastUpdated) / (1000 * 60));
var _local_2: number = (this._minutesUntilExpiration - k);
return (_local_2 > 0) ? _local_2 : 0;
}
public set minutesUntilExpiration(k: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._minutesUntilExpiration = k;
}
@ -146,7 +145,7 @@ export class Purse implements IPurse
public set minutesSinceLastModified(k: number)
{
this._lastUpdated = GetNitroInstance().time;
this._lastUpdated = GetTickerTime();
this._minutesSinceLastModified = k;
}

View File

@ -1,5 +1,5 @@
import { IFurnitureData, IRoomModerationSettings, IRoomPetData, IRoomUserData, ObjectDataFactory, PetFigureData, PetType, RoomControllerLevel, RoomModerationSettings, RoomObjectCategory, RoomObjectType, RoomObjectVariable, RoomTradingLevelEnum, RoomWidgetEnumItemExtradataParameter, Vector3d } from '@nitrots/nitro-renderer';
import { GetNitroInstance, GetRoomEngine, GetRoomSession, GetSessionDataManager, IsOwnerOfFurniture } from '../../nitro';
import { GetTickerTime, IFurnitureData, IRoomModerationSettings, IRoomPetData, IRoomUserData, ObjectDataFactory, PetFigureData, PetType, RoomControllerLevel, RoomModerationSettings, RoomObjectCategory, RoomObjectType, RoomObjectVariable, RoomTradingLevelEnum, RoomWidgetEnumItemExtradataParameter, Vector3d } from '@nitrots/nitro-renderer';
import { GetRoomEngine, GetRoomSession, GetSessionDataManager, IsOwnerOfFurniture } from '../../nitro';
import { LocalizeText } from '../../utils';
import { AvatarInfoFurni } from './AvatarInfoFurni';
import { AvatarInfoName } from './AvatarInfoName';
@ -139,7 +139,7 @@ export class AvatarInfoUtilities
const expiryTime = model.getValue<number>(RoomObjectVariable.FURNITURE_EXPIRY_TIME);
const expiryTimestamp = model.getValue<number>(RoomObjectVariable.FURNITURE_EXPIRTY_TIMESTAMP);
furniInfo.expiration = ((expiryTime < 0) ? expiryTime : Math.max(0, (expiryTime - ((GetNitroInstance().time - expiryTimestamp) / 1000))));
furniInfo.expiration = ((expiryTime < 0) ? expiryTime : Math.max(0, (expiryTime - ((GetTickerTime() - expiryTimestamp) / 1000))));
let roomObjectImage = GetRoomEngine().getRoomObjectImage(roomSession.roomId, objectId, category, new Vector3d(180), 64, null);

View File

@ -1,6 +1,5 @@
import { ColorConverter, IRoomRenderingCanvas, RoomPreviewer, TextureUtils } from '@nitrots/nitro-renderer';
import { ColorConverter, GetTicker, IRoomRenderingCanvas, RoomPreviewer, TextureUtils } from '@nitrots/nitro-renderer';
import { FC, MouseEvent, ReactNode, useEffect, useRef, useState } from 'react';
import { GetNitroInstance } from '../../api';
export interface LayoutRoomPreviewerViewProps
{
@ -65,7 +64,7 @@ export const LayoutRoomPreviewerView: FC<LayoutRoomPreviewerViewProps> = props =
}
}
GetNitroInstance().ticker.add(update);
GetTicker().add(update);
const resizeObserver = new ResizeObserver(() =>
{
@ -84,7 +83,7 @@ export const LayoutRoomPreviewerView: FC<LayoutRoomPreviewerViewProps> = props =
{
resizeObserver.disconnect();
GetNitroInstance().ticker.remove(update);
GetTicker().remove(update);
}
}, [ renderingCanvas, roomPreviewer, elementRef, height ]);

View File

@ -1,6 +1,6 @@
import { FixedSizeStack, NitroPoint, NitroRectangle, RoomObjectType } from '@nitrots/nitro-renderer';
import { FixedSizeStack, GetTicker, NitroPoint, NitroRectangle, RoomObjectType } from '@nitrots/nitro-renderer';
import { CSSProperties, FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { GetNitroInstance, GetRoomObjectBounds, GetRoomObjectScreenLocation, GetRoomSession, GetTicker } from '../../../../api';
import { GetNitroInstance, GetRoomObjectBounds, GetRoomObjectScreenLocation, GetRoomSession } from '../../../../api';
import { Base, BaseProps } from '../../../../common';
import { ContextMenuCaretView } from './ContextMenuCaretView';

View File

@ -20,7 +20,7 @@ export const FurnitureBackgroundColorView: FC<{}> = props =>
<ReactSlider
className={ 'nitro-slider' }
min={ 0 }
max={ 360 }
max={ 255 }
value={ hue }
onChange={ event => setHue(event) }
thumbClassName={ 'thumb degree' }
@ -31,10 +31,10 @@ export const FurnitureBackgroundColorView: FC<{}> = props =>
<ReactSlider
className={ 'nitro-slider' }
min={ 0 }
max={ 100 }
max={ 255 }
value={ saturation }
onChange={ event => setSaturation(event) }
thumbClassName={ 'thumb percent' }
thumbClassName={ 'thumb degree' }
renderThumb={ (props, state) => <div { ...props }>{ state.valueNow }</div> } />
</Column>
<Column>
@ -42,10 +42,10 @@ export const FurnitureBackgroundColorView: FC<{}> = props =>
<ReactSlider
className={ 'nitro-slider' }
min={ 0 }
max={ 100 }
max={ 255 }
value={ lightness }
onChange={ event => setLightness(event) }
thumbClassName={ 'thumb percent' }
thumbClassName={ 'thumb degree' }
renderThumb={ (props, state) => <div { ...props }>{ state.valueNow }</div> } />
</Column>
</Column>

View File

@ -1,5 +1,6 @@
import { GetTicker } from '@nitrots/nitro-renderer';
import { FC, useEffect, useRef, useState } from 'react';
import { GetNitroInstance, GetRoomObjectBounds, GetRoomSession } from '../../../../api';
import { GetRoomObjectBounds, GetRoomSession } from '../../../../api';
import { Base, BaseProps } from '../../../../common';
interface ObjectLocationViewProps extends BaseProps<HTMLDivElement>
@ -47,12 +48,12 @@ export const ObjectLocationView: FC<ObjectLocationViewProps> = props =>
{
remove = true;
GetNitroInstance().ticker.add(updatePosition);
GetTicker().add(updatePosition);
}
return () =>
{
if(remove) GetNitroInstance().ticker.remove(updatePosition);
if(remove) GetTicker().remove(updatePosition);
}
}, [ objectId, category, noFollow ]);

View File

@ -1,7 +1,7 @@
import { BuildersClubFurniCountMessageEvent, BuildersClubPlaceRoomItemMessageComposer, BuildersClubPlaceWallItemMessageComposer, BuildersClubQueryFurniCountMessageComposer, BuildersClubSubscriptionStatusMessageEvent, CatalogPageMessageEvent, CatalogPagesListEvent, CatalogPublishedMessageEvent, ClubGiftInfoEvent, FrontPageItem, FurniturePlaceComposer, FurniturePlacePaintComposer, GetCatalogIndexComposer, GetCatalogPageComposer, GetClubGiftInfo, GetGiftWrappingConfigurationComposer, GiftWrappingConfigurationEvent, GuildMembershipsMessageEvent, HabboClubOffersMessageEvent, LegacyDataType, LimitedEditionSoldOutEvent, MarketplaceMakeOfferResult, NodeData, ProductOfferEvent, PurchaseErrorMessageEvent, PurchaseFromCatalogComposer, PurchaseNotAllowedMessageEvent, PurchaseOKMessageEvent, RoomControllerLevel, RoomEngineObjectPlacedEvent, RoomObjectCategory, RoomObjectPlacementSource, RoomObjectType, RoomObjectVariable, RoomPreviewer, SellablePetPalettesMessageEvent, Vector3d } from '@nitrots/nitro-renderer';
import { BuildersClubFurniCountMessageEvent, BuildersClubPlaceRoomItemMessageComposer, BuildersClubPlaceWallItemMessageComposer, BuildersClubQueryFurniCountMessageComposer, BuildersClubSubscriptionStatusMessageEvent, CatalogPageMessageEvent, CatalogPagesListEvent, CatalogPublishedMessageEvent, ClubGiftInfoEvent, FrontPageItem, FurniturePlaceComposer, FurniturePlacePaintComposer, GetCatalogIndexComposer, GetCatalogPageComposer, GetClubGiftInfo, GetGiftWrappingConfigurationComposer, GetTickerTime, GiftWrappingConfigurationEvent, GuildMembershipsMessageEvent, HabboClubOffersMessageEvent, LegacyDataType, LimitedEditionSoldOutEvent, MarketplaceMakeOfferResult, NodeData, ProductOfferEvent, PurchaseErrorMessageEvent, PurchaseFromCatalogComposer, PurchaseNotAllowedMessageEvent, PurchaseOKMessageEvent, RoomControllerLevel, RoomEngineObjectPlacedEvent, RoomObjectCategory, RoomObjectPlacementSource, RoomObjectType, RoomObjectVariable, RoomPreviewer, SellablePetPalettesMessageEvent, Vector3d } from '@nitrots/nitro-renderer';
import { useCallback, useEffect, useRef, useState } from 'react';
import { useBetween } from 'use-between';
import { BuilderFurniPlaceableStatus, CatalogNode, CatalogPage, CatalogPetPalette, CatalogType, CreateLinkEvent, DispatchUiEvent, FurniCategory, GetFurnitureData, GetNitroInstance, GetProductDataForLocalization, GetRoomEngine, GetRoomSession, GiftWrappingConfiguration, ICatalogNode, ICatalogOptions, ICatalogPage, IPageLocalization, IProduct, IPurchasableOffer, IPurchaseOptions, LocalizeText, NotificationAlertType, Offer, PageLocalization, PlacedObjectPurchaseData, PlaySound, Product, ProductTypeEnum, RequestedPage, SearchResult, SendMessageComposer, SoundNames } from '../../api';
import { BuilderFurniPlaceableStatus, CatalogNode, CatalogPage, CatalogPetPalette, CatalogType, CreateLinkEvent, DispatchUiEvent, FurniCategory, GetFurnitureData, GetProductDataForLocalization, GetRoomEngine, GetRoomSession, GiftWrappingConfiguration, ICatalogNode, ICatalogOptions, ICatalogPage, IPageLocalization, IProduct, IPurchasableOffer, IPurchaseOptions, LocalizeText, NotificationAlertType, Offer, PageLocalization, PlacedObjectPurchaseData, PlaySound, Product, ProductTypeEnum, RequestedPage, SearchResult, SendMessageComposer, SoundNames } from '../../api';
import { CatalogPurchasedEvent, CatalogPurchaseFailureEvent, CatalogPurchaseNotAllowedEvent, CatalogPurchaseSoldOutEvent, InventoryFurniAddedEvent } from '../../events';
import { useMessageEvent, useRoomEngineEvent, useUiEvent } from '../events';
import { useNotification } from '../notification';
@ -677,7 +677,7 @@ const useCatalogState = () =>
setFurniLimit(parser._Str_15864);
setMaxFurniLimit(parser._Str_24094);
setSecondsLeft(parser._Str_3709);
setUpdateTime(GetNitroInstance().time);
setUpdateTime(GetTickerTime());
setSecondsLeftWithGrace(parser._Str_24379);
refreshBuilderStatus();

View File

@ -1,6 +1,6 @@
import { AvatarExpressionEnum, HabboClubLevelEnum, RoomControllerLevel, RoomEngineObjectEvent, RoomObjectCategory, RoomRotatingEffect, RoomSessionChatEvent, RoomSettingsComposer, RoomShakingEffect, RoomZoomEvent, TextureUtils } from '@nitrots/nitro-renderer';
import { AvatarExpressionEnum, GetTicker, HabboClubLevelEnum, RoomControllerLevel, RoomEngineObjectEvent, RoomObjectCategory, RoomRotatingEffect, RoomSessionChatEvent, RoomSettingsComposer, RoomShakingEffect, RoomZoomEvent, TextureUtils } from '@nitrots/nitro-renderer';
import { useEffect, useState } from 'react';
import { ChatMessageTypeEnum, CreateLinkEvent, GetClubMemberLevel, GetConfiguration, GetNitroInstance, GetRoomEngine, GetSessionDataManager, LocalizeText, SendMessageComposer } from '../../../api';
import { ChatMessageTypeEnum, CreateLinkEvent, GetClubMemberLevel, GetConfiguration, GetRoomEngine, GetSessionDataManager, LocalizeText, SendMessageComposer } from '../../../api';
import { useRoomEngineEvent, useRoomSessionManagerEvent } from '../../events';
import { useNotification } from '../../notification';
import { useObjectSelectedEvent } from '../engine';
@ -144,8 +144,8 @@ const useChatInputWidgetState = () =>
return null;
case ':togglefps': {
if(GetNitroInstance().ticker.maxFPS > 0) GetNitroInstance().ticker.maxFPS = 0;
else GetNitroInstance().ticker.maxFPS = GetConfiguration('system.animation.fps');
if(GetTicker().maxFPS > 0) GetTicker().maxFPS = 0;
else GetTicker().maxFPS = GetConfiguration('system.animation.fps');
return null;
}

View File

@ -1484,10 +1484,10 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@nitrots/nitro-renderer@^1.4.2":
version "1.4.2"
resolved "https://registry.yarnpkg.com/@nitrots/nitro-renderer/-/nitro-renderer-1.4.2.tgz#386862a1d136ac5d36866beb5265fcb90067ff58"
integrity sha512-k98vn5UaPOg3v9UGsDiGFeZu/3ZJs3c4+t41qDyxqluvij5GLIFgHrTF+D0K8M69HJ0WLX8Wzct7kJuwH9JXjw==
"@nitrots/nitro-renderer@^1.4.4":
version "1.4.4"
resolved "https://registry.yarnpkg.com/@nitrots/nitro-renderer/-/nitro-renderer-1.4.4.tgz#84d479181dd1ffc753fb82001531e447ab9942ec"
integrity sha512-Q8aSTrDB8GWXpRCNeEQtuW4/dy9EGlGUYScdvrTQAq+KvlUlZyvUJYjY6VHwfDKZx9NpvHGnlMotEyhXITGBMg==
dependencies:
"@pixi/app" "~6.4.2"
"@pixi/basis" "~6.4.2"
@ -4731,10 +4731,10 @@ emoji-regex@^9.2.2:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
emoji-toolkit@^6.6.0:
version "6.6.0"
resolved "https://registry.yarnpkg.com/emoji-toolkit/-/emoji-toolkit-6.6.0.tgz#e7287c43a96f940ec4c5428cd7100a40e57518f1"
integrity sha512-pEu0kow2p1N8zCKnn/L6H0F3rWUBB3P3hVjr/O5yl1fK7N9jU4vO4G7EFapC5Y3XwZLUCY0FZbOPyTkH+4V2eQ==
emoji-toolkit@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/emoji-toolkit/-/emoji-toolkit-7.0.0.tgz#63b5e5bdc63acd2e5629a0157969b94d414961fb"
integrity sha512-swoVbGlR/cyJ2ysrw1+axjRkEHAlH0myhbK1ybkv8zR6r9KpL4vzb96m3Y2j0hixUKj1Nb8YBQbk3ihB+XkpBw==
emojis-list@^2.0.0:
version "2.1.0"
@ -8416,9 +8416,9 @@ p-try@^2.0.0:
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
pako@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d"
integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==
version "2.1.0"
resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86"
integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==
pako@~1.0.5:
version "1.0.11"