Update Config & Logger

This commit is contained in:
Bill 2022-11-08 16:44:41 -05:00
parent 175e706b51
commit 5f84307227
80 changed files with 635 additions and 661 deletions

View File

@ -1,4 +1,4 @@
import { INitroLogger } from '../../api'; import { INitroLogger } from './INitroLogger';
export class NitroLogger implements INitroLogger export class NitroLogger implements INitroLogger
{ {
@ -35,33 +35,24 @@ export class NitroLogger implements INitroLogger
NitroLogger.log(this._name, modus, ...message); NitroLogger.log(this._name, modus, ...message);
} }
public static log(name: string = 'Nitro', modus: string = null, ...message: any[]): void private static logPrefix(): string
{ {
const logPrefix = `[Nitro] [${name}]`; return '[Nitro]';
switch(modus)
{
case 'error':
console.error(logPrefix, ...message);
break;
case 'warn':
console.warn(logPrefix, ...message);
break;
case 'log':
default:
console.log(logPrefix, ...message);
break;
}
} }
public static error(name: string = 'Nitro', ...message: any[]): void public static log(...messages: any[]): void
{ {
return this.log(name, 'error', ...message); console.log(this.logPrefix(), ...messages);
} }
public static warn(name: string = 'Nitro', ...message: any[]): void public static error(...messages: any[]): void
{ {
return this.log(name, 'warn', ...message); console.error(this.logPrefix(), ...messages);
}
public static warn(...messages: any[]): void
{
console.warn(this.logPrefix(), ...messages);
} }
public get description(): string | number public get description(): string | number

View File

@ -6,3 +6,4 @@ export * from './INitroLogger';
export * from './INitroManager'; export * from './INitroManager';
export * from './IUpdateReceiver'; export * from './IUpdateReceiver';
export * from './IWorkerEventTracker'; export * from './IWorkerEventTracker';
export * from './NitroLogger';

View File

@ -2,8 +2,4 @@
export interface IConfigurationManager extends INitroManager export interface IConfigurationManager extends INitroManager
{ {
interpolate(value: string, regex?: RegExp): string;
getValue<T>(key: string, value?: T): T;
setValue<T>(key: string, value: T): void;
definitions: Map<string, unknown>;
} }

View File

@ -0,0 +1,114 @@
import { NitroLogger } from '../common';
export class NitroConfiguration
{
private static _definitions: Map<string, unknown> = new Map();
private static _config: any = {};
private static _missingKeys: string[] = [];
public static parseConfiguration(data: { [index: string]: any }, overrides: boolean = false): boolean
{
if (!data) return false;
try
{
const regex = new RegExp(/\${(.*?)}/g);
for (const key in data)
{
let value = data[key];
if (typeof value === 'string') value = this.interpolate((value as string), regex);
if (this._definitions.has(key))
{
if (overrides) this.setValue(key, value);
}
else
{
this.setValue(key, value);
}
}
return true;
}
catch (e)
{
NitroLogger.error(e.stack);
return false;
}
}
public static interpolate(value: string, regex: RegExp = null): string
{
if (!regex) regex = new RegExp(/\${(.*?)}/g);
const pieces = value.match(regex);
if (pieces && pieces.length)
{
for (const piece of pieces)
{
const existing = (this._definitions.get(this.removeInterpolateKey(piece)) as string);
if (existing) (value = value.replace(piece, existing));
}
}
return value;
}
private static removeInterpolateKey(value: string): string
{
return value.replace('${', '').replace('}', '');
}
public static getValue<T>(key: string, value: T = null): T
{
let existing = this._definitions.get(key);
if (existing === undefined)
{
if (this._missingKeys.indexOf(key) >= 0) return value;
this._missingKeys.push(key);
NitroLogger.warn(`Missing configuration key: ${key}`);
existing = value;
}
return (existing as T);
}
public static setValue<T>(key: string, value: T): void
{
const parts = key.split('.');
let last = this._config;
for (let i = 0; i < parts.length; i++)
{
const part = parts[i].toString();
if (i !== (parts.length - 1))
{
if (!last[part]) last[part] = {};
last = last[part];
continue;
}
last[part] = value;
}
this._definitions.set(key, value);
}
public static get definitions(): Map<string, unknown>
{
return this._definitions;
}
}

View File

@ -1 +1,2 @@
export * from './IConfigurationManager'; export * from './IConfigurationManager';
export * from './NitroConfiguration';

View File

@ -16,9 +16,32 @@ export * from './configuration';
export * from './IAdvancedMap'; export * from './IAdvancedMap';
export * from './INitroCore'; export * from './INitroCore';
export * from './nitro'; export * from './nitro';
export * from './nitro/avatar';
export * from './nitro/avatar/actions';
export * from './nitro/avatar/animation';
export * from './nitro/avatar/enum';
export * from './nitro/avatar/figuredata';
export * from './nitro/avatar/pet';
export * from './nitro/avatar/structure';
export * from './nitro/camera';
export * from './nitro/communication';
export * from './nitro/enums';
export * from './nitro/localization';
export * from './nitro/room';
export * from './nitro/room/enums';
export * from './nitro/room/object';
export * from './nitro/room/object/data';
export * from './nitro/room/object/data/type';
export * from './nitro/room/utils';
export * from './nitro/session';
export * from './nitro/session/enum';
export * from './nitro/sound';
export * from './room'; export * from './room';
export * from './room/object'; export * from './room/object';
export * from './room/object/enum'; export * from './room/object/enum';
export * from './room/object/logic'; export * from './room/object/logic';
export * from './room/object/visualization'; export * from './room/object/visualization';
export * from './room/renderer'; export * from './room/renderer';
export * from './ui';
export * from './ui/widget';
export * from './ui/widget/enums';

View File

@ -1,3 +1,4 @@
export * from './MouseEventType'; export * from './MouseEventType';
export * from './TouchEventType'; export * from './TouchEventType';
export * from './widget'; export * from './widget';
export * from './widget/enums';

View File

@ -1,15 +1,14 @@
import { BaseTexture, Resource, Texture } from '@pixi/core'; import { BaseTexture, Resource, Texture } from '@pixi/core';
import { Loader, LoaderResource } from '@pixi/loaders'; import { Loader, LoaderResource } from '@pixi/loaders';
import { Spritesheet } from '@pixi/spritesheet'; import { Spritesheet } from '@pixi/spritesheet';
import { IAssetData, IAssetManager, IGraphicAsset, IGraphicAssetCollection, INitroLogger } from '../../api'; import { IAssetData, IAssetManager, IGraphicAsset, IGraphicAssetCollection, NitroLogger } from '../../api';
import { Disposable, NitroLogger } from '../common'; import { Disposable } from '../common';
import { ArrayBufferToBase64 } from '../utils'; import { ArrayBufferToBase64 } from '../utils';
import { GraphicAssetCollection } from './GraphicAssetCollection'; import { GraphicAssetCollection } from './GraphicAssetCollection';
import { NitroBundle } from './NitroBundle'; import { NitroBundle } from './NitroBundle';
export class AssetManager extends Disposable implements IAssetManager export class AssetManager extends Disposable implements IAssetManager
{ {
private _logger: INitroLogger;
private _textures: Map<string, Texture<Resource>>; private _textures: Map<string, Texture<Resource>>;
private _collections: Map<string, IGraphicAssetCollection>; private _collections: Map<string, IGraphicAssetCollection>;
@ -17,7 +16,6 @@ export class AssetManager extends Disposable implements IAssetManager
{ {
super(); super();
this._logger = new NitroLogger(this.constructor.name);
this._textures = new Map(); this._textures = new Map();
this._collections = new Map(); this._collections = new Map();
} }
@ -120,7 +118,7 @@ export class AssetManager extends Disposable implements IAssetManager
{ {
if (!status) if (!status)
{ {
this._logger.error('Failed to download asset', url); NitroLogger.error('Failed to download asset', url);
loader.destroy(); loader.destroy();

View File

@ -1,6 +1,5 @@
import { IDisposable, IEventDispatcher, INitroEvent, INitroLogger } from '../../api'; import { IDisposable, IEventDispatcher, INitroEvent, INitroLogger, NitroConfiguration, NitroLogger } from '../../api';
import { Disposable } from './Disposable'; import { Disposable } from './Disposable';
import { NitroLogger } from './NitroLogger';
export class EventDispatcher extends Disposable implements IEventDispatcher, IDisposable export class EventDispatcher extends Disposable implements IEventDispatcher, IDisposable
{ {
@ -62,7 +61,7 @@ export class EventDispatcher extends Disposable implements IEventDispatcher, IDi
{ {
if (!event) return false; if (!event) return false;
//if (Nitro.instance.getConfiguration<boolean>('system.dispatcher.log')) this._logger.log('Dispatched Event', event.type); if (NitroConfiguration.getValue<boolean>('system.dispatcher.log')) this._logger.log('Dispatched Event', event.type);
this.processEvent(event); this.processEvent(event);

View File

@ -1,7 +1,6 @@
import { IEventDispatcher, INitroLogger, INitroManager } from '../../api'; import { IEventDispatcher, INitroLogger, INitroManager, NitroLogger } from '../../api';
import { Disposable } from './Disposable'; import { Disposable } from './Disposable';
import { EventDispatcher } from './EventDispatcher'; import { EventDispatcher } from './EventDispatcher';
import { NitroLogger } from './NitroLogger';
export class NitroManager extends Disposable implements INitroManager export class NitroManager extends Disposable implements INitroManager
{ {

View File

@ -1,4 +1,3 @@
export * from './Disposable'; export * from './Disposable';
export * from './EventDispatcher'; export * from './EventDispatcher';
export * from './NitroLogger';
export * from './NitroManager'; export * from './NitroManager';

View File

@ -1,4 +1,4 @@
import { ICodec, ICommunicationManager, IConnection, IConnectionStateListener, IMessageComposer, IMessageConfiguration, IMessageDataWrapper, IMessageEvent, WebSocketEventEnum } from '../../api'; import { ICodec, ICommunicationManager, IConnection, IConnectionStateListener, IMessageComposer, IMessageConfiguration, IMessageDataWrapper, IMessageEvent, NitroConfiguration, NitroLogger, WebSocketEventEnum } from '../../api';
import { SocketConnectionEvent } from '../../events'; import { SocketConnectionEvent } from '../../events';
import { EventDispatcher } from '../common'; import { EventDispatcher } from '../common';
import { EvaWireFormat } from './codec'; import { EvaWireFormat } from './codec';
@ -174,7 +174,7 @@ export class SocketConnection extends EventDispatcher implements IConnection
if (header === -1) if (header === -1)
{ {
//if (Nitro.instance.getConfiguration<boolean>('system.packet.log')) this.logger.log(`Unknown Composer: ${composer.constructor.name}`); if (NitroConfiguration.getValue<boolean>('system.packet.log')) NitroLogger.log('Unknown Composer', composer.constructor.name);
continue; continue;
} }
@ -184,12 +184,12 @@ export class SocketConnection extends EventDispatcher implements IConnection
if (!encoded) if (!encoded)
{ {
//if (Nitro.instance.getConfiguration<boolean>('system.packet.log')) this.logger.log('Encoding Failed', composer.constructor.name); if (NitroConfiguration.getValue<boolean>('system.packet.log')) NitroLogger.log('Encoding Failed', composer.constructor.name);
continue; continue;
} }
//if (Nitro.instance.getConfiguration<boolean>('system.packet.log')) this.logger.log('OutgoingComposer', header, composer.constructor.name, message); if (NitroConfiguration.getValue<boolean>('system.packet.log')) NitroLogger.log('OutgoingComposer', header, composer.constructor.name, message);
this.write(encoded.getBuffer()); this.write(encoded.getBuffer());
} }
@ -213,7 +213,7 @@ export class SocketConnection extends EventDispatcher implements IConnection
catch (err) catch (err)
{ {
this.logger.error(err); NitroLogger.error(err);
} }
} }
@ -247,7 +247,7 @@ export class SocketConnection extends EventDispatcher implements IConnection
if (!messages || !messages.length) continue; if (!messages || !messages.length) continue;
//if (Nitro.instance.getConfiguration<boolean>('system.packet.log')) this.logger.log('IncomingMessage', wrapper.header, messages[0].constructor.name, messages[0].parser); if (NitroConfiguration.getValue<boolean>('system.packet.log')) NitroLogger.log('IncomingMessage', wrapper.header, messages[0].constructor.name, messages[0].parser);
this.handleMessages(...messages); this.handleMessages(...messages);
} }
@ -278,7 +278,7 @@ export class SocketConnection extends EventDispatcher implements IConnection
if (!events || !events.length) if (!events || !events.length)
{ {
//if (Nitro.instance.getConfiguration<boolean>('system.packet.log')) this.logger.log('IncomingMessage', wrapper.header, 'UNREGISTERED', wrapper); if (NitroConfiguration.getValue<boolean>('system.packet.log')) NitroLogger.log('IncomingMessage', wrapper.header, 'UNREGISTERED', wrapper);
return; return;
} }
@ -295,7 +295,7 @@ export class SocketConnection extends EventDispatcher implements IConnection
catch (e) catch (e)
{ {
this.logger.error('Error parsing message', e, events[0].constructor.name); NitroLogger.error('Error parsing message', e, events[0].constructor.name);
return null; return null;
} }

View File

@ -1,4 +1,4 @@
import { IConfigurationManager } from '../../api'; import { IConfigurationManager, NitroConfiguration } from '../../api';
import { NitroManager } from '../common'; import { NitroManager } from '../common';
import { ConfigurationEvent } from './ConfigurationEvent'; import { ConfigurationEvent } from './ConfigurationEvent';
@ -23,9 +23,9 @@ export class ConfigurationManager extends NitroManager implements IConfiguration
protected onInit(): void protected onInit(): void
{ {
this.parseConfiguration(this.getDefaultConfig(), true); NitroConfiguration.parseConfiguration(this.getDefaultConfig(), true);
this._pendingUrls = this.getValue<string[]>('config.urls').slice(); this._pendingUrls = NitroConfiguration.getValue<string[]>('config.urls').slice();
this.loadNextConfiguration(); this.loadNextConfiguration();
} }
@ -61,7 +61,7 @@ export class ConfigurationManager extends NitroManager implements IConfiguration
{ {
if (!data) return; if (!data) return;
if(this.parseConfiguration(data)) if (NitroConfiguration.parseConfiguration(data))
{ {
const index = this._pendingUrls.indexOf(url); const index = this._pendingUrls.indexOf(url);
@ -85,115 +85,9 @@ export class ConfigurationManager extends NitroManager implements IConfiguration
this.events && this.events.dispatchEvent(new ConfigurationEvent(type)); this.events && this.events.dispatchEvent(new ConfigurationEvent(type));
} }
private parseConfiguration(data: { [index: string]: any }, overrides: boolean = false): boolean
{
if(!data) return false;
try
{
const regex = new RegExp(/\${(.*?)}/g);
for(const key in data)
{
let value = data[key];
if(typeof value === 'string') value = this.interpolate((value as string), regex);
if(this._definitions.has(key))
{
if(overrides) this.setValue(key, value);
}
else
{
this.setValue(key, value);
}
}
return true;
}
catch (e)
{
this.logger.error(e.stack);
return false;
}
}
public interpolate(value: string, regex: RegExp = null): string
{
if(!regex) regex = new RegExp(/\${(.*?)}/g);
const pieces = value.match(regex);
if(pieces && pieces.length)
{
for(const piece of pieces)
{
const existing = (this._definitions.get(this.removeInterpolateKey(piece)) as string);
if(existing) (value = value.replace(piece, existing));
}
}
return value;
}
private removeInterpolateKey(value: string): string
{
return value.replace('${', '').replace('}', '');
}
public getValue<T>(key: string, value: T = null): T
{
let existing = this._definitions.get(key);
if(existing === undefined)
{
if(this._missingKeys.indexOf(key) >= 0) return value;
this._missingKeys.push(key);
this.logger.warn(`Missing configuration key: ${key}`);
existing = value;
}
return (existing as T);
}
public setValue<T>(key: string, value: T): void
{
const parts = key.split('.');
let last = this._config;
for(let i = 0; i < parts.length; i++)
{
const part = parts[i].toString();
if(i !== (parts.length - 1))
{
if(!last[part]) last[part] = {};
last = last[part];
continue;
}
last[part] = value;
}
this._definitions.set(key, value);
}
public getDefaultConfig(): { [index: string]: any } public getDefaultConfig(): { [index: string]: any }
{ {
//@ts-ignore //@ts-ignore
return NitroConfig as { [index: string]: any }; return NitroConfig as { [index: string]: any };
} }
public get definitions(): Map<string, unknown>
{
return this._definitions;
}
} }

View File

@ -2,7 +2,7 @@ import { Application, IApplicationOptions } from '@pixi/app';
import { SCALE_MODES } from '@pixi/constants'; import { SCALE_MODES } from '@pixi/constants';
import { settings } from '@pixi/settings'; import { settings } from '@pixi/settings';
import { Ticker } from '@pixi/ticker'; import { Ticker } from '@pixi/ticker';
import { IAvatarRenderManager, IEventDispatcher, ILinkEventTracker, INitroCommunicationManager, INitroCore, INitroLocalizationManager, IRoomCameraWidgetManager, IRoomEngine, IRoomManager, IRoomSessionManager, ISessionDataManager, ISoundManager, IWorkerEventTracker } from '../api'; import { IAvatarRenderManager, IEventDispatcher, ILinkEventTracker, INitroCommunicationManager, INitroCore, INitroLocalizationManager, IRoomCameraWidgetManager, IRoomEngine, IRoomManager, IRoomSessionManager, ISessionDataManager, ISoundManager, IWorkerEventTracker, NitroConfiguration } from '../api';
import { ConfigurationEvent, EventDispatcher, NitroCore } from '../core'; import { ConfigurationEvent, EventDispatcher, NitroCore } from '../core';
import { NitroEvent, RoomEngineEvent } from '../events'; import { NitroEvent, RoomEngineEvent } from '../events';
import { PixiApplicationProxy } from '../pixi-proxy'; import { PixiApplicationProxy } from '../pixi-proxy';
@ -199,8 +199,8 @@ export class Nitro implements INitro
private onConfigurationLoadedEvent(event: ConfigurationEvent): void private onConfigurationLoadedEvent(event: ConfigurationEvent): void
{ {
const animationFPS = this.getConfiguration<number>('system.animation.fps', 24); const animationFPS = NitroConfiguration.getValue<number>('system.animation.fps', 24);
const limitsFPS = this.getConfiguration<boolean>('system.limits.fps', true); const limitsFPS = NitroConfiguration.getValue<boolean>('system.limits.fps', true);
if (limitsFPS) Nitro.instance.ticker.maxFPS = animationFPS; if (limitsFPS) Nitro.instance.ticker.maxFPS = animationFPS;
} }
@ -212,7 +212,7 @@ export class Nitro implements INitro
public getConfiguration<T>(key: string, value: T = null): T public getConfiguration<T>(key: string, value: T = null): T
{ {
return this._core.configuration.getValue<T>(key, value); return NitroConfiguration.getValue<T>(key, value);
} }
public getLocalization(key: string): string public getLocalization(key: string): string

View File

@ -1,7 +1,6 @@
import { IAssetManager, IAvatarFigureContainer, IAvatarImageListener, INitroEvent } from '../../api'; import { IAssetManager, IAvatarFigureContainer, IAvatarImageListener, INitroEvent, NitroConfiguration, NitroLogger } from '../../api';
import { EventDispatcher } from '../../core'; import { EventDispatcher } from '../../core';
import { AvatarRenderEvent, AvatarRenderLibraryEvent, NitroEvent } from '../../events'; import { AvatarRenderEvent, AvatarRenderLibraryEvent, NitroEvent } from '../../events';
import { Nitro } from '../Nitro';
import { AvatarAssetDownloadLibrary } from './AvatarAssetDownloadLibrary'; import { AvatarAssetDownloadLibrary } from './AvatarAssetDownloadLibrary';
import { AvatarStructure } from './AvatarStructure'; import { AvatarStructure } from './AvatarStructure';
@ -32,7 +31,7 @@ export class AvatarAssetDownloadManager extends EventDispatcher
this._assets = assets; this._assets = assets;
this._structure = structure; this._structure = structure;
this._missingMandatoryLibs = Nitro.instance.getConfiguration<string[]>('avatar.mandatory.libraries'); this._missingMandatoryLibs = NitroConfiguration.getValue<string[]>('avatar.mandatory.libraries');
this._figureMap = new Map(); this._figureMap = new Map();
this._pendingContainers = []; this._pendingContainers = [];
this._figureListeners = new Map(); this._figureListeners = new Map();
@ -56,7 +55,7 @@ export class AvatarAssetDownloadManager extends EventDispatcher
try try
{ {
request.open('GET', Nitro.instance.getConfiguration<string>('avatar.figuremap.url')); request.open('GET', NitroConfiguration.getValue<string>('avatar.figuremap.url'));
request.send(); request.send();
@ -84,7 +83,7 @@ export class AvatarAssetDownloadManager extends EventDispatcher
catch (e) catch (e)
{ {
this.logger.error(e); NitroLogger.error(e);
} }
} }
@ -103,7 +102,7 @@ export class AvatarAssetDownloadManager extends EventDispatcher
this._libraryNames.push(id); this._libraryNames.push(id);
const downloadLibrary = new AvatarAssetDownloadLibrary(id, revision, this._assets, Nitro.instance.getConfiguration<string>('avatar.asset.url')); const downloadLibrary = new AvatarAssetDownloadLibrary(id, revision, this._assets, NitroConfiguration.getValue<string>('avatar.asset.url'));
downloadLibrary.addEventListener(AvatarRenderLibraryEvent.DOWNLOAD_COMPLETE, this.onLibraryLoaded); downloadLibrary.addEventListener(AvatarRenderLibraryEvent.DOWNLOAD_COMPLETE, this.onLibraryLoaded);

View File

@ -1,4 +1,4 @@
import { AvatarSetType, IAssetManager, IAvatarEffectListener, IAvatarFigureContainer, IAvatarImage, IAvatarImageListener, IAvatarRenderManager, IFigureData, IFigurePartSet, IFigureSetData, IGraphicAsset, INitroEvent, IStructureData } from '../../api'; import { AvatarSetType, IAssetManager, IAvatarEffectListener, IAvatarFigureContainer, IAvatarImage, IAvatarImageListener, IAvatarRenderManager, IFigureData, IFigurePartSet, IFigureSetData, IGraphicAsset, INitroEvent, IStructureData, NitroConfiguration, NitroLogger } from '../../api';
import { NitroManager } from '../../core'; import { NitroManager } from '../../core';
import { AvatarRenderEvent, NitroEvent } from '../../events'; import { AvatarRenderEvent, NitroEvent } from '../../events';
import { Nitro } from '../Nitro'; import { Nitro } from '../Nitro';
@ -134,7 +134,7 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa
private loadActions(): void private loadActions(): void
{ {
const defaultActions = Nitro.instance.getConfiguration<string>('avatar.default.actions'); const defaultActions = NitroConfiguration.getValue<string>('avatar.default.actions');
if (defaultActions) this._structure.initActions(Nitro.instance.core.asset, defaultActions); if (defaultActions) this._structure.initActions(Nitro.instance.core.asset, defaultActions);
@ -142,7 +142,7 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa
try try
{ {
request.open('GET', Nitro.instance.getConfiguration<string>('avatar.actions.url')); request.open('GET', NitroConfiguration.getValue<string>('avatar.actions.url'));
request.send(); request.send();
@ -165,7 +165,7 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa
catch (e) catch (e)
{ {
this.logger.error(e); NitroLogger.error(e);
} }
} }
@ -182,18 +182,18 @@ export class AvatarRenderManager extends NitroManager implements IAvatarRenderMa
private loadFigureData(): void private loadFigureData(): void
{ {
const defaultFigureData = Nitro.instance.getConfiguration<IFigureData>('avatar.default.figuredata'); const defaultFigureData = NitroConfiguration.getValue<IFigureData>('avatar.default.figuredata');
if (!defaultFigureData || (typeof defaultFigureData === 'string')) if (!defaultFigureData || (typeof defaultFigureData === 'string'))
{ {
this.logger.error('XML figuredata is no longer supported'); NitroLogger.error('XML figuredata is no longer supported');
return; return;
} }
if (this._structure) this._structure.initFigureData(defaultFigureData); if (this._structure) this._structure.initFigureData(defaultFigureData);
const structureDownloader = new AvatarStructureDownload(Nitro.instance.getConfiguration<string>('avatar.figuredata.url'), (this._structure.figureData as IFigureSetData)); const structureDownloader = new AvatarStructureDownload(NitroConfiguration.getValue<string>('avatar.figuredata.url'), (this._structure.figureData as IFigureSetData));
structureDownloader.addEventListener(AvatarStructureDownload.AVATAR_STRUCTURE_DONE, this.onAvatarStructureDownloadDone); structureDownloader.addEventListener(AvatarStructureDownload.AVATAR_STRUCTURE_DONE, this.onAvatarStructureDownloadDone);
} }

View File

@ -1,7 +1,6 @@
import { IAssetManager, IAvatarEffectListener, INitroEvent } from '../../api'; import { IAssetManager, IAvatarEffectListener, INitroEvent, NitroConfiguration, NitroLogger } from '../../api';
import { EventDispatcher } from '../../core'; import { EventDispatcher } from '../../core';
import { AvatarRenderEffectLibraryEvent, AvatarRenderEvent, NitroEvent } from '../../events'; import { AvatarRenderEffectLibraryEvent, AvatarRenderEvent, NitroEvent } from '../../events';
import { Nitro } from '../Nitro';
import { AvatarStructure } from './AvatarStructure'; import { AvatarStructure } from './AvatarStructure';
import { EffectAssetDownloadLibrary } from './EffectAssetDownloadLibrary'; import { EffectAssetDownloadLibrary } from './EffectAssetDownloadLibrary';
@ -32,7 +31,7 @@ export class EffectAssetDownloadManager extends EventDispatcher
this._assets = assets; this._assets = assets;
this._structure = structure; this._structure = structure;
this._missingMandatoryLibs = Nitro.instance.getConfiguration<string[]>('avatar.mandatory.effect.libraries'); this._missingMandatoryLibs = NitroConfiguration.getValue<string[]>('avatar.mandatory.effect.libraries');
this._effectMap = new Map(); this._effectMap = new Map();
this._effectListeners = new Map(); this._effectListeners = new Map();
this._incompleteEffects = new Map(); this._incompleteEffects = new Map();
@ -56,7 +55,7 @@ export class EffectAssetDownloadManager extends EventDispatcher
try try
{ {
request.open('GET', Nitro.instance.getConfiguration<string>('avatar.effectmap.url')); request.open('GET', NitroConfiguration.getValue<string>('avatar.effectmap.url'));
request.send(); request.send();
@ -84,7 +83,7 @@ export class EffectAssetDownloadManager extends EventDispatcher
catch (e) catch (e)
{ {
this.logger.error(e); NitroLogger.error(e);
} }
} }
@ -104,7 +103,7 @@ export class EffectAssetDownloadManager extends EventDispatcher
this._libraryNames.push(lib); this._libraryNames.push(lib);
const downloadLibrary = new EffectAssetDownloadLibrary(lib, revision, this._assets, Nitro.instance.getConfiguration<string>('avatar.asset.effect.url')); const downloadLibrary = new EffectAssetDownloadLibrary(lib, revision, this._assets, NitroConfiguration.getValue<string>('avatar.asset.effect.url'));
downloadLibrary.addEventListener(AvatarRenderEffectLibraryEvent.DOWNLOAD_COMPLETE, this.onLibraryLoaded); downloadLibrary.addEventListener(AvatarRenderEffectLibraryEvent.DOWNLOAD_COMPLETE, this.onLibraryLoaded);

View File

@ -1,4 +1,4 @@
import { IFigureSetData } from '../../../api'; import { IFigureSetData, NitroLogger } from '../../../api';
import { EventDispatcher } from '../../../core'; import { EventDispatcher } from '../../../core';
import { NitroEvent } from '../../../events'; import { NitroEvent } from '../../../events';
@ -46,7 +46,7 @@ export class AvatarStructureDownload extends EventDispatcher
catch (e) catch (e)
{ {
this.logger.error(e); NitroLogger.error(e);
} }
} }
} }

View File

@ -1,10 +1,9 @@
import { Texture } from '@pixi/core'; import { Texture } from '@pixi/core';
import { ColorMatrix, ColorMatrixFilter } from '@pixi/filter-color-matrix'; import { ColorMatrix, ColorMatrixFilter } from '@pixi/filter-color-matrix';
import { IEventDispatcher, IRoomCameraWidgetEffect, IRoomCameraWidgetManager, IRoomCameraWidgetSelectedEffect } from '../../api'; import { IEventDispatcher, IRoomCameraWidgetEffect, IRoomCameraWidgetManager, IRoomCameraWidgetSelectedEffect, NitroConfiguration } from '../../api';
import { EventDispatcher } from '../../core'; import { EventDispatcher } from '../../core';
import { RoomCameraWidgetManagerEvent } from '../../events'; import { RoomCameraWidgetManagerEvent } from '../../events';
import { NitroContainer, NitroSprite, TextureUtils } from '../../pixi-proxy'; import { NitroContainer, NitroSprite, TextureUtils } from '../../pixi-proxy';
import { Nitro } from '../Nitro';
import { RoomCameraWidgetEffect } from './RoomCameraWidgetEffect'; import { RoomCameraWidgetEffect } from './RoomCameraWidgetEffect';
export class RoomCameraWidgetManager implements IRoomCameraWidgetManager export class RoomCameraWidgetManager implements IRoomCameraWidgetManager
@ -26,8 +25,8 @@ export class RoomCameraWidgetManager implements IRoomCameraWidgetManager
this._isLoaded = true; this._isLoaded = true;
const imagesUrl = Nitro.instance.getConfiguration<string>('image.library.url') + 'Habbo-Stories/'; const imagesUrl = NitroConfiguration.getValue<string>('image.library.url') + 'Habbo-Stories/';
const effects = Nitro.instance.getConfiguration<{ name: string, colorMatrix?: ColorMatrix, minLevel: number, blendMode?: number, enabled: boolean }[]>('camera.available.effects'); const effects = NitroConfiguration.getValue<{ name: string, colorMatrix?: ColorMatrix, minLevel: number, blendMode?: number, enabled: boolean }[]>('camera.available.effects');
for (const effect of effects) for (const effect of effects)
{ {

View File

@ -1,4 +1,4 @@
import { IConnection, INitroCommunicationDemo, INitroCommunicationManager } from '../../api'; import { IConnection, INitroCommunicationDemo, INitroCommunicationManager, NitroConfiguration, NitroLogger } from '../../api';
import { NitroManager } from '../../core'; import { NitroManager } from '../../core';
import { NitroCommunicationDemoEvent, SocketConnectionEvent } from '../../events'; import { NitroCommunicationDemoEvent, SocketConnectionEvent } from '../../events';
import { GetTickerTime } from '../../pixi-proxy'; import { GetTickerTime } from '../../pixi-proxy';
@ -74,7 +74,7 @@ export class NitroCommunicationDemo extends NitroManager implements INitroCommun
this.dispatchCommunicationDemoEvent(NitroCommunicationDemoEvent.CONNECTION_ESTABLISHED, connection); this.dispatchCommunicationDemoEvent(NitroCommunicationDemoEvent.CONNECTION_ESTABLISHED, connection);
if (Nitro.instance.getConfiguration<boolean>('system.pong.manually', false)) this.startPonging(); if (NitroConfiguration.getValue<boolean>('system.pong.manually', false)) this.startPonging();
this.startHandshake(connection); this.startHandshake(connection);
@ -111,7 +111,7 @@ export class NitroCommunicationDemo extends NitroManager implements INitroCommun
{ {
if (!this.getSSO()) if (!this.getSSO())
{ {
this.logger.error('Login without an SSO ticket is not supported'); NitroLogger.error('Login without an SSO ticket is not supported');
} }
this.dispatchCommunicationDemoEvent(NitroCommunicationDemoEvent.CONNECTION_HANDSHAKE_FAILED, connection); this.dispatchCommunicationDemoEvent(NitroCommunicationDemoEvent.CONNECTION_HANDSHAKE_FAILED, connection);
@ -158,7 +158,7 @@ export class NitroCommunicationDemo extends NitroManager implements INitroCommun
{ {
this.stopPonging(); this.stopPonging();
this._pongInterval = setInterval(this.sendPong, Nitro.instance.getConfiguration<number>('system.pong.interval.ms', 20000)); this._pongInterval = setInterval(this.sendPong, NitroConfiguration.getValue<number>('system.pong.interval.ms', 20000));
} }
private stopPonging(): void private stopPonging(): void
@ -186,6 +186,6 @@ export class NitroCommunicationDemo extends NitroManager implements INitroCommun
private getSSO(): string private getSSO(): string
{ {
return Nitro.instance.getConfiguration('sso.ticket', null); return NitroConfiguration.getValue('sso.ticket', null);
} }
} }

View File

@ -1,4 +1,4 @@
import { ICommunicationManager, IConnection, IConnectionStateListener, IMessageConfiguration, IMessageEvent, INitroCommunicationDemo, INitroCommunicationManager, INitroEvent } from '../../api'; import { ICommunicationManager, IConnection, IConnectionStateListener, IMessageConfiguration, IMessageEvent, INitroCommunicationDemo, INitroCommunicationManager, INitroEvent, NitroConfiguration, NitroLogger } from '../../api';
import { NitroManager } from '../../core'; import { NitroManager } from '../../core';
import { NitroCommunicationDemoEvent, SocketConnectionEvent } from '../../events'; import { NitroCommunicationDemoEvent, SocketConnectionEvent } from '../../events';
import { Nitro } from '../Nitro'; import { Nitro } from '../Nitro';
@ -45,7 +45,7 @@ export class NitroCommunicationManager extends NitroManager implements INitroCom
if (this._demo) this._demo.init(); if (this._demo) this._demo.init();
this._connection.init(Nitro.instance.getConfiguration<string>('socket.url')); this._connection.init(NitroConfiguration.getValue<string>('socket.url'));
} }
protected onDispose(): void protected onDispose(): void
@ -66,29 +66,29 @@ export class NitroCommunicationManager extends NitroManager implements INitroCom
private onConnectionOpenedEvent(event: Event): void private onConnectionOpenedEvent(event: Event): void
{ {
this.logger.log('Connection Initialized'); NitroLogger.log('Connection Initialized');
} }
private onConnectionClosedEvent(event: CloseEvent): void private onConnectionClosedEvent(event: CloseEvent): void
{ {
this.logger.log('Connection Closed'); NitroLogger.log('Connection Closed');
} }
private onConnectionErrorEvent(event: Event): void private onConnectionErrorEvent(event: Event): void
{ {
this.logger.log('Connection Error'); NitroLogger.log('Connection Error');
} }
private onConnectionAuthenticatedEvent(event: INitroEvent): void private onConnectionAuthenticatedEvent(event: INitroEvent): void
{ {
this.logger.log('Connection Authenticated'); NitroLogger.log('Connection Authenticated');
if (this._connection) this._connection.authenticated(); if (this._connection) this._connection.authenticated();
} }
public connectionInit(socketUrl: string): void public connectionInit(socketUrl: string): void
{ {
this.logger.log(`Initializing Connection: ${socketUrl}`); NitroLogger.log('Initializing Connection', socketUrl);
} }
public registerMessageEvent(event: IMessageEvent): IMessageEvent public registerMessageEvent(event: IMessageEvent): IMessageEvent

View File

@ -8,6 +8,5 @@ export * from './localization';
export * from './Nitro'; export * from './Nitro';
export * from './room'; export * from './room';
export * from './session'; export * from './session';
export * from './ui';
export * from './utils'; export * from './utils';
export * from './window'; export * from './window';

View File

@ -1,8 +1,7 @@
import { INitroCommunicationManager, INitroLocalizationManager } from '../../api'; import { INitroCommunicationManager, INitroLocalizationManager, NitroConfiguration } from '../../api';
import { NitroManager } from '../../core'; import { NitroManager } from '../../core';
import { NitroLocalizationEvent } from '../../events'; import { NitroLocalizationEvent } from '../../events';
import { BadgePointLimitsEvent } from '../communication'; import { BadgePointLimitsEvent } from '../communication';
import { Nitro } from '../Nitro';
import { BadgeBaseAndLevel } from './BadgeBaseAndLevel'; import { BadgeBaseAndLevel } from './BadgeBaseAndLevel';
export class NitroLocalizationManager extends NitroManager implements INitroLocalizationManager export class NitroLocalizationManager extends NitroManager implements INitroLocalizationManager
@ -30,14 +29,14 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca
{ {
this._communication.registerMessageEvent(new BadgePointLimitsEvent(this.onBadgePointLimitsEvent.bind(this))); this._communication.registerMessageEvent(new BadgePointLimitsEvent(this.onBadgePointLimitsEvent.bind(this)));
let urls: string[] = Nitro.instance.getConfiguration<string[]>('external.texts.url'); let urls: string[] = NitroConfiguration.getValue<string[]>('external.texts.url');
if (!Array.isArray(urls)) if (!Array.isArray(urls))
{ {
urls = [Nitro.instance.getConfiguration<string>('external.texts.url')]; urls = [NitroConfiguration.getValue<string>('external.texts.url')];
} }
for (let i = 0; i < urls.length; i++) urls[i] = Nitro.instance.core.configuration.interpolate(urls[i]); for (let i = 0; i < urls.length; i++) urls[i] = NitroConfiguration.interpolate(urls[i]);
this._pendingUrls = urls; this._pendingUrls = urls;
@ -142,7 +141,7 @@ export class NitroLocalizationManager extends NitroManager implements INitroLoca
if (!value) if (!value)
{ {
value = (Nitro.instance.core.configuration.definitions.get(key) as any); value = (NitroConfiguration.definitions.get(key) as any);
if (value) return value; if (value) return value;
} }

View File

@ -1,8 +1,8 @@
import { BaseTexture, Resource, Texture } from '@pixi/core'; import { BaseTexture, Resource, Texture } from '@pixi/core';
import { Loader, LoaderResource } from '@pixi/loaders'; import { Loader, LoaderResource } from '@pixi/loaders';
import { Spritesheet } from '@pixi/spritesheet'; import { Spritesheet } from '@pixi/spritesheet';
import { FurnitureType, IAssetData, IEventDispatcher, IFurnitureData, IFurnitureDataListener, IGraphicAssetCollection, IGraphicAssetGifCollection, INitroLogger, IPetColorResult, IRoomContentListener, IRoomContentLoader, IRoomObject, ISessionDataManager, RoomObjectCategory, RoomObjectUserType, RoomObjectVariable, RoomObjectVisualizationType } from '../../api'; import { FurnitureType, IAssetData, IEventDispatcher, IFurnitureData, IFurnitureDataListener, IGraphicAssetCollection, IGraphicAssetGifCollection, IPetColorResult, IRoomContentListener, IRoomContentLoader, IRoomObject, ISessionDataManager, NitroConfiguration, NitroLogger, RoomObjectCategory, RoomObjectUserType, RoomObjectVariable, RoomObjectVisualizationType } from '../../api';
import { GraphicAssetCollection, GraphicAssetGifCollection, NitroBundle, NitroLogger } from '../../core'; import { GraphicAssetCollection, GraphicAssetGifCollection, NitroBundle } from '../../core';
import { NitroEvent } from '../../events'; import { NitroEvent } from '../../events';
import { RoomContentLoadedEvent } from '../../room/events/RoomContentLoadedEvent'; import { RoomContentLoadedEvent } from '../../room/events/RoomContentLoadedEvent';
import { Nitro } from '../Nitro'; import { Nitro } from '../Nitro';
@ -21,7 +21,6 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
public static LOADER_READY: string = 'RCL_LOADER_READY'; public static LOADER_READY: string = 'RCL_LOADER_READY';
public static MANDATORY_LIBRARIES: string[] = [RoomContentLoader.PLACE_HOLDER, RoomContentLoader.PLACE_HOLDER_WALL, RoomContentLoader.PLACE_HOLDER_PET, RoomContentLoader.ROOM, RoomContentLoader.TILE_CURSOR, RoomContentLoader.SELECTION_ARROW]; public static MANDATORY_LIBRARIES: string[] = [RoomContentLoader.PLACE_HOLDER, RoomContentLoader.PLACE_HOLDER_WALL, RoomContentLoader.PLACE_HOLDER_PET, RoomContentLoader.ROOM, RoomContentLoader.TILE_CURSOR, RoomContentLoader.SELECTION_ARROW];
private _logger: INitroLogger;
private _stateEvents: IEventDispatcher; private _stateEvents: IEventDispatcher;
private _sessionDataManager: ISessionDataManager; private _sessionDataManager: ISessionDataManager;
private _waitingForSessionDataManager: boolean; private _waitingForSessionDataManager: boolean;
@ -49,7 +48,6 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
constructor() constructor()
{ {
this._logger = new NitroLogger(this.constructor.name);
this._stateEvents = null; this._stateEvents = null;
this._sessionDataManager = null; this._sessionDataManager = null;
this._waitingForSessionDataManager = false; this._waitingForSessionDataManager = false;
@ -82,7 +80,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
this.setFurnitureData(); this.setFurnitureData();
for (const [index, name] of Nitro.instance.getConfiguration<string[]>('pet.types').entries()) this._pets[name] = index; for (const [index, name] of NitroConfiguration.getValue<string[]>('pet.types').entries()) this._pets[name] = index;
} }
public dispose(): void public dispose(): void
@ -421,7 +419,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
public getPetNameForType(type: number): string public getPetNameForType(type: number): string
{ {
return Nitro.instance.getConfiguration<string[]>('pet.types')[type] || null; return NitroConfiguration.getValue<string[]>('pet.types')[type] || null;
} }
public isLoaderType(type: string): boolean public isLoaderType(type: string): boolean
@ -474,7 +472,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
{ {
image.onload = null; image.onload = null;
this._logger.error('Failed to download asset', url); NitroLogger.error('Failed to download asset', url);
this._iconListener.onRoomContentLoaded(id, [type, param].join('_'), false); this._iconListener.onRoomContentLoaded(id, [type, param].join('_'), false);
}; };
@ -517,7 +515,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
{ {
if (!status) if (!status)
{ {
this._logger.error('Failed to download asset', url); NitroLogger.error('Failed to download asset', url);
loader.destroy(); loader.destroy();
@ -704,22 +702,22 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
private getAssetUrlWithGenericBase(assetName: string): string private getAssetUrlWithGenericBase(assetName: string): string
{ {
return (Nitro.instance.getConfiguration<string>('generic.asset.url').replace(/%libname%/gi, assetName)); return (NitroConfiguration.getValue<string>('generic.asset.url').replace(/%libname%/gi, assetName));
} }
public getAssetUrlWithFurniBase(assetName: string): string public getAssetUrlWithFurniBase(assetName: string): string
{ {
return (Nitro.instance.getConfiguration<string>('furni.asset.url').replace(/%libname%/gi, assetName)); return (NitroConfiguration.getValue<string>('furni.asset.url').replace(/%libname%/gi, assetName));
} }
public getAssetUrlWithFurniIconBase(assetName: string): string public getAssetUrlWithFurniIconBase(assetName: string): string
{ {
return (Nitro.instance.getConfiguration<string>('furni.asset.icon.url').replace(/%libname%/gi, assetName)); return (NitroConfiguration.getValue<string>('furni.asset.icon.url').replace(/%libname%/gi, assetName));
} }
public getAssetUrlWithPetBase(assetName: string): string public getAssetUrlWithPetBase(assetName: string): string
{ {
return (Nitro.instance.getConfiguration<string>('pet.asset.url').replace(/%libname%/gi, assetName)); return (NitroConfiguration.getValue<string>('pet.asset.url').replace(/%libname%/gi, assetName));
} }
public setRoomObjectRoomId(object: IRoomObject, roomId: string): void public setRoomObjectRoomId(object: IRoomObject, roomId: string): void

View File

@ -1,7 +1,7 @@
import { RenderTexture, Resource, Texture } from '@pixi/core'; import { RenderTexture, Resource, Texture } from '@pixi/core';
import { Container, DisplayObject } from '@pixi/display'; import { Container, DisplayObject } from '@pixi/display';
import { Matrix, Point, Rectangle } from '@pixi/math'; import { Matrix, Point, Rectangle } from '@pixi/math';
import { IConnection, IDisposable, IFurnitureStackingHeightMap, IGetImageListener, IImageResult, ILegacyWallGeometry, IMessageComposer, INitroCommunicationManager, INitroEvent, IObjectData, IPetColorResult, IPetCustomPart, IRoomContentListener, IRoomContentLoader, IRoomCreator, IRoomEngine, IRoomEngineServices, IRoomGeometry, IRoomInstance, IRoomManager, IRoomManagerListener, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectVisualizationFactory, IRoomRenderer, IRoomRendererFactory, IRoomRenderingCanvas, IRoomSessionManager, ISelectedRoomObjectData, ISessionDataManager, ITileObjectMap, IUpdateReceiver, IVector3D, LegacyDataType, ObjectDataFactory, RoomControllerLevel, RoomObjectCategory, RoomObjectUserType, RoomObjectVariable, ToolbarIconEnum, Vector3d } from '../../api'; import { IConnection, IDisposable, IFurnitureStackingHeightMap, IGetImageListener, IImageResult, ILegacyWallGeometry, IMessageComposer, INitroCommunicationManager, INitroEvent, IObjectData, IPetColorResult, IPetCustomPart, IRoomContentListener, IRoomContentLoader, IRoomCreator, IRoomEngine, IRoomEngineServices, IRoomGeometry, IRoomInstance, IRoomManager, IRoomManagerListener, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectVisualizationFactory, IRoomRenderer, IRoomRendererFactory, IRoomRenderingCanvas, IRoomSessionManager, ISelectedRoomObjectData, ISessionDataManager, ITileObjectMap, IUpdateReceiver, IVector3D, LegacyDataType, MouseEventType, NitroConfiguration, NitroLogger, ObjectDataFactory, RoomControllerLevel, RoomObjectCategory, RoomObjectUserType, RoomObjectVariable, ToolbarIconEnum, Vector3d } from '../../api';
import { NitroManager } from '../../core'; import { NitroManager } from '../../core';
import { BadgeImageReadyEvent, NitroToolbarAnimateIconEvent, RoomBackgroundColorEvent, RoomDragEvent, RoomEngineEvent, RoomEngineObjectEvent, RoomObjectFurnitureActionEvent, RoomSessionEvent, RoomToObjectOwnAvatarMoveEvent } from '../../events'; import { BadgeImageReadyEvent, NitroToolbarAnimateIconEvent, RoomBackgroundColorEvent, RoomDragEvent, RoomEngineEvent, RoomEngineObjectEvent, RoomObjectFurnitureActionEvent, RoomSessionEvent, RoomToObjectOwnAvatarMoveEvent } from '../../events';
import { GetTickerTime, NitroSprite, TextureUtils } from '../../pixi-proxy'; import { GetTickerTime, NitroSprite, TextureUtils } from '../../pixi-proxy';
@ -9,7 +9,6 @@ import { NumberBank, RoomEnterEffect, RoomGeometry, RoomInstance, RoomObjectEven
import { PetFigureData } from '../avatar'; import { PetFigureData } from '../avatar';
import { RenderRoomMessageComposer, RenderRoomThumbnailMessageComposer } from '../communication'; import { RenderRoomMessageComposer, RenderRoomThumbnailMessageComposer } from '../communication';
import { Nitro } from '../Nitro'; import { Nitro } from '../Nitro';
import { MouseEventType } from '../ui';
import { FurniId } from '../utils'; import { FurniId } from '../utils';
import { ImageResult } from './ImageResult'; import { ImageResult } from './ImageResult';
import { ObjectAvatarCarryObjectUpdateMessage, ObjectAvatarChatUpdateMessage, ObjectAvatarDanceUpdateMessage, ObjectAvatarEffectUpdateMessage, ObjectAvatarExperienceUpdateMessage, ObjectAvatarExpressionUpdateMessage, ObjectAvatarFigureUpdateMessage, ObjectAvatarFlatControlUpdateMessage, ObjectAvatarGestureUpdateMessage, ObjectAvatarGuideStatusUpdateMessage, ObjectAvatarMutedUpdateMessage, ObjectAvatarOwnMessage, ObjectAvatarPetGestureUpdateMessage, ObjectAvatarPlayerValueUpdateMessage, ObjectAvatarPlayingGameUpdateMessage, ObjectAvatarPostureUpdateMessage, ObjectAvatarSignUpdateMessage, ObjectAvatarSleepUpdateMessage, ObjectAvatarTypingUpdateMessage, ObjectAvatarUpdateMessage, ObjectAvatarUseObjectUpdateMessage, ObjectDataUpdateMessage, ObjectGroupBadgeUpdateMessage, ObjectHeightUpdateMessage, ObjectItemDataUpdateMessage, ObjectModelDataUpdateMessage, ObjectMoveUpdateMessage, ObjectRoomColorUpdateMessage, ObjectRoomFloorHoleUpdateMessage, ObjectRoomMaskUpdateMessage, ObjectRoomPlanePropertyUpdateMessage, ObjectRoomPlaneVisibilityUpdateMessage, ObjectRoomUpdateMessage, ObjectStateUpdateMessage } from './messages'; import { ObjectAvatarCarryObjectUpdateMessage, ObjectAvatarChatUpdateMessage, ObjectAvatarDanceUpdateMessage, ObjectAvatarEffectUpdateMessage, ObjectAvatarExperienceUpdateMessage, ObjectAvatarExpressionUpdateMessage, ObjectAvatarFigureUpdateMessage, ObjectAvatarFlatControlUpdateMessage, ObjectAvatarGestureUpdateMessage, ObjectAvatarGuideStatusUpdateMessage, ObjectAvatarMutedUpdateMessage, ObjectAvatarOwnMessage, ObjectAvatarPetGestureUpdateMessage, ObjectAvatarPlayerValueUpdateMessage, ObjectAvatarPlayingGameUpdateMessage, ObjectAvatarPostureUpdateMessage, ObjectAvatarSignUpdateMessage, ObjectAvatarSleepUpdateMessage, ObjectAvatarTypingUpdateMessage, ObjectAvatarUpdateMessage, ObjectAvatarUseObjectUpdateMessage, ObjectDataUpdateMessage, ObjectGroupBadgeUpdateMessage, ObjectHeightUpdateMessage, ObjectItemDataUpdateMessage, ObjectModelDataUpdateMessage, ObjectMoveUpdateMessage, ObjectRoomColorUpdateMessage, ObjectRoomFloorHoleUpdateMessage, ObjectRoomMaskUpdateMessage, ObjectRoomPlanePropertyUpdateMessage, ObjectRoomPlaneVisibilityUpdateMessage, ObjectRoomUpdateMessage, ObjectStateUpdateMessage } from './messages';
@ -276,14 +275,14 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
this._roomDatas.set(roomId, data); this._roomDatas.set(roomId, data);
this.logger.warn('Room Engine not initilized yet, can not create room. Room data stored for later initialization.'); NitroLogger.warn('Room Engine not initilized yet, can not create room. Room data stored for later initialization.');
return; return;
} }
if (!roomMap) if (!roomMap)
{ {
this.logger.warn('Room property messages'); NitroLogger.warn('Room property messages');
return; return;
} }
@ -427,7 +426,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
} }
instance.createRoomObjectAndInitalize(RoomEngine.CURSOR_OBJECT_ID, RoomEngine.CURSOR_OBJECT_TYPE, RoomObjectCategory.CURSOR); instance.createRoomObjectAndInitalize(RoomEngine.CURSOR_OBJECT_ID, RoomEngine.CURSOR_OBJECT_TYPE, RoomObjectCategory.CURSOR);
if (Nitro.instance.getConfiguration('enable.avatar.arrow', false)) instance.createRoomObjectAndInitalize(RoomEngine.ARROW_OBJECT_ID, RoomEngine.ARROW_OBJECT_TYPE, RoomObjectCategory.CURSOR); if (NitroConfiguration.getValue('enable.avatar.arrow', false)) instance.createRoomObjectAndInitalize(RoomEngine.ARROW_OBJECT_ID, RoomEngine.ARROW_OBJECT_TYPE, RoomObjectCategory.CURSOR);
return instance; return instance;
} }

View File

@ -1,10 +1,9 @@
import { IFurnitureStackingHeightMap, ILegacyWallGeometry, IObjectData, IRoomCanvasMouseListener, IRoomEngineServices, IRoomGeometry, IRoomObject, IRoomObjectController, IRoomObjectEventManager, ISelectedRoomObjectData, IVector3D, RoomObjectCategory, RoomObjectOperationType, RoomObjectPlacementSource, RoomObjectType, RoomObjectUserType, RoomObjectVariable, Vector3d } from '../../api'; import { IFurnitureStackingHeightMap, ILegacyWallGeometry, IObjectData, IRoomCanvasMouseListener, IRoomEngineServices, IRoomGeometry, IRoomObject, IRoomObjectController, IRoomObjectEventManager, ISelectedRoomObjectData, IVector3D, MouseEventType, NitroConfiguration, NitroLogger, RoomObjectCategory, RoomObjectOperationType, RoomObjectPlacementSource, RoomObjectType, RoomObjectUserType, RoomObjectVariable, Vector3d } from '../../api';
import { Disposable, NitroLogger } from '../../core'; import { Disposable } from '../../core';
import { RoomEngineDimmerStateEvent, RoomEngineObjectEvent, RoomEngineObjectPlacedEvent, RoomEngineObjectPlacedOnUserEvent, RoomEngineObjectPlaySoundEvent, RoomEngineRoomAdEvent, RoomEngineSamplePlaybackEvent, RoomEngineTriggerWidgetEvent, RoomEngineUseProductEvent, RoomObjectBadgeAssetEvent, RoomObjectDataRequestEvent, RoomObjectDimmerStateUpdateEvent, RoomObjectFloorHoleEvent, RoomObjectFurnitureActionEvent, RoomObjectHSLColorEnabledEvent, RoomObjectHSLColorEnableEvent, RoomObjectMoveEvent, RoomObjectPlaySoundIdEvent, RoomObjectRoomAdEvent, RoomObjectSamplePlaybackEvent, RoomObjectSoundMachineEvent, RoomObjectStateChangedEvent, RoomObjectTileMouseEvent, RoomObjectWallMouseEvent, RoomObjectWidgetRequestEvent } from '../../events'; import { RoomEngineDimmerStateEvent, RoomEngineObjectEvent, RoomEngineObjectPlacedEvent, RoomEngineObjectPlacedOnUserEvent, RoomEngineObjectPlaySoundEvent, RoomEngineRoomAdEvent, RoomEngineSamplePlaybackEvent, RoomEngineTriggerWidgetEvent, RoomEngineUseProductEvent, RoomObjectBadgeAssetEvent, RoomObjectDataRequestEvent, RoomObjectDimmerStateUpdateEvent, RoomObjectFloorHoleEvent, RoomObjectFurnitureActionEvent, RoomObjectHSLColorEnabledEvent, RoomObjectHSLColorEnableEvent, RoomObjectMoveEvent, RoomObjectPlaySoundIdEvent, RoomObjectRoomAdEvent, RoomObjectSamplePlaybackEvent, RoomObjectSoundMachineEvent, RoomObjectStateChangedEvent, RoomObjectTileMouseEvent, RoomObjectWallMouseEvent, RoomObjectWidgetRequestEvent } from '../../events';
import { RoomEnterEffect, RoomId, RoomObjectEvent, RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../room'; import { RoomEnterEffect, RoomId, RoomObjectEvent, RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../room';
import { BotPlaceComposer, FurnitureColorWheelComposer, FurnitureDiceActivateComposer, FurnitureDiceDeactivateComposer, FurnitureFloorUpdateComposer, FurnitureGroupInfoComposer, FurnitureMultiStateComposer, FurnitureOneWayDoorComposer, FurniturePickupComposer, FurniturePlaceComposer, FurniturePostItPlaceComposer, FurnitureRandomStateComposer, FurnitureWallMultiStateComposer, FurnitureWallUpdateComposer, GetItemDataComposer, GetResolutionAchievementsMessageComposer, PetMoveComposer, PetPlaceComposer, RemoveWallItemComposer, RoomUnitLookComposer, RoomUnitWalkComposer, SetItemDataMessageComposer, SetObjectDataMessageComposer } from '../communication'; import { BotPlaceComposer, FurnitureColorWheelComposer, FurnitureDiceActivateComposer, FurnitureDiceDeactivateComposer, FurnitureFloorUpdateComposer, FurnitureGroupInfoComposer, FurnitureMultiStateComposer, FurnitureOneWayDoorComposer, FurniturePickupComposer, FurniturePlaceComposer, FurniturePostItPlaceComposer, FurnitureRandomStateComposer, FurnitureWallMultiStateComposer, FurnitureWallUpdateComposer, GetItemDataComposer, GetResolutionAchievementsMessageComposer, PetMoveComposer, PetPlaceComposer, RemoveWallItemComposer, RoomUnitLookComposer, RoomUnitWalkComposer, SetItemDataMessageComposer, SetObjectDataMessageComposer } from '../communication';
import { Nitro } from '../Nitro'; import { Nitro } from '../Nitro';
import { MouseEventType } from '../ui';
import { ObjectAvatarSelectedMessage, ObjectDataUpdateMessage, ObjectSelectedMessage, ObjectTileCursorUpdateMessage, ObjectVisibilityUpdateMessage } from './messages'; import { ObjectAvatarSelectedMessage, ObjectDataUpdateMessage, ObjectSelectedMessage, ObjectTileCursorUpdateMessage, ObjectVisibilityUpdateMessage } from './messages';
import { SelectedRoomObjectData } from './utils'; import { SelectedRoomObjectData } from './utils';
@ -1030,7 +1029,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
event.object.model.setValue(RoomObjectVariable.SESSION_CURRENT_USER_ID, this._roomEngine.sessionDataManager.userId); event.object.model.setValue(RoomObjectVariable.SESSION_CURRENT_USER_ID, this._roomEngine.sessionDataManager.userId);
return; return;
case RoomObjectDataRequestEvent.RODRE_URL_PREFIX: case RoomObjectDataRequestEvent.RODRE_URL_PREFIX:
event.object.model.setValue(RoomObjectVariable.SESSION_URL_PREFIX, Nitro.instance.getConfiguration('url.prefix')); event.object.model.setValue(RoomObjectVariable.SESSION_URL_PREFIX, NitroConfiguration.getValue('url.prefix'));
return; return;
} }
} }

View File

@ -1,5 +1,5 @@
import { IEventDispatcher, IRoomObjectEventHandler, IRoomObjectLogicFactory, RoomObjectLogicType } from '../../api'; import { IEventDispatcher, IRoomObjectEventHandler, IRoomObjectLogicFactory, NitroLogger, RoomObjectLogicType } from '../../api';
import { EventDispatcher, NitroLogger } from '../../core'; import { EventDispatcher } from '../../core';
import { RoomObjectLogicBase } from '../../room'; import { RoomObjectLogicBase } from '../../room';
import { AvatarLogic, FurnitureAchievementResolutionLogic, FurnitureBadgeDisplayLogic, FurnitureChangeStateWhenStepOnLogic, FurnitureClothingChangeLogic, FurnitureCounterClockLogic, FurnitureCrackableLogic, FurnitureCraftingGizmoLogic, FurnitureCreditLogic, FurnitureCuckooClockLogic, FurnitureCustomStackHeightLogic, FurnitureDiceLogic, FurnitureEcotronBoxLogic, FurnitureEditableInternalLinkLogic, FurnitureEditableRoomLinkLogic, FurnitureEffectBoxLogic, FurnitureExternalImageLogic, FurnitureFireworksLogic, FurnitureFloorHoleLogic, FurnitureGroupForumTerminalLogic, FurnitureGuildCustomizedLogic, FurnitureHabboWheelLogic, FurnitureHighScoreLogic, FurnitureHockeyScoreLogic, FurnitureHweenLovelockLogic, FurnitureIceStormLogic, FurnitureInternalLinkLogic, FurnitureJukeboxLogic, FurnitureLogic, FurnitureLoveLockLogic, FurnitureMannequinLogic, FurnitureMonsterplantSeedLogic, FurnitureMultiHeightLogic, FurnitureMultiStateLogic, FurnitureMysteryBoxLogic, FurnitureMysteryTrophyLogic, FurnitureOneWayDoorLogic, FurniturePetCustomizationLogic, FurniturePlaceholderLogic, FurniturePlanetSystemLogic, FurniturePresentLogic, FurniturePurchaseableClothingLogic, FurniturePushableLogic, FurnitureRandomStateLogic, FurnitureRandomTeleportLogic, FurnitureRentableSpaceLogic, FurnitureRoomBackgroundColorLogic, FurnitureRoomBackgroundLogic, FurnitureRoomBillboardLogic, FurnitureRoomDimmerLogic, FurnitureScoreLogic, FurnitureSongDiskLogic, FurnitureSoundBlockLogic, FurnitureSoundMachineLogic, FurnitureStickieLogic, FurnitureTrophyLogic, FurnitureVoteCounterLogic, FurnitureVoteMajorityLogic, FurnitureWelcomeGiftLogic, FurnitureWindowLogic, FurnitureYoutubeLogic, PetLogic, RoomLogic, SelectionArrowLogic, TileCursorLogic } from './object'; import { AvatarLogic, FurnitureAchievementResolutionLogic, FurnitureBadgeDisplayLogic, FurnitureChangeStateWhenStepOnLogic, FurnitureClothingChangeLogic, FurnitureCounterClockLogic, FurnitureCrackableLogic, FurnitureCraftingGizmoLogic, FurnitureCreditLogic, FurnitureCuckooClockLogic, FurnitureCustomStackHeightLogic, FurnitureDiceLogic, FurnitureEcotronBoxLogic, FurnitureEditableInternalLinkLogic, FurnitureEditableRoomLinkLogic, FurnitureEffectBoxLogic, FurnitureExternalImageLogic, FurnitureFireworksLogic, FurnitureFloorHoleLogic, FurnitureGroupForumTerminalLogic, FurnitureGuildCustomizedLogic, FurnitureHabboWheelLogic, FurnitureHighScoreLogic, FurnitureHockeyScoreLogic, FurnitureHweenLovelockLogic, FurnitureIceStormLogic, FurnitureInternalLinkLogic, FurnitureJukeboxLogic, FurnitureLogic, FurnitureLoveLockLogic, FurnitureMannequinLogic, FurnitureMonsterplantSeedLogic, FurnitureMultiHeightLogic, FurnitureMultiStateLogic, FurnitureMysteryBoxLogic, FurnitureMysteryTrophyLogic, FurnitureOneWayDoorLogic, FurniturePetCustomizationLogic, FurniturePlaceholderLogic, FurniturePlanetSystemLogic, FurniturePresentLogic, FurniturePurchaseableClothingLogic, FurniturePushableLogic, FurnitureRandomStateLogic, FurnitureRandomTeleportLogic, FurnitureRentableSpaceLogic, FurnitureRoomBackgroundColorLogic, FurnitureRoomBackgroundLogic, FurnitureRoomBillboardLogic, FurnitureRoomDimmerLogic, FurnitureScoreLogic, FurnitureSongDiskLogic, FurnitureSoundBlockLogic, FurnitureSoundMachineLogic, FurnitureStickieLogic, FurnitureTrophyLogic, FurnitureVoteCounterLogic, FurnitureVoteMajorityLogic, FurnitureWelcomeGiftLogic, FurnitureWindowLogic, FurnitureYoutubeLogic, PetLogic, RoomLogic, SelectionArrowLogic, TileCursorLogic } from './object';

View File

@ -1,5 +1,4 @@
import { IAssetData, IObjectVisualizationData, IRoomObjectGraphicVisualization, IRoomObjectVisualizationFactory, RoomObjectVisualizationType } from '../../../api'; import { IAssetData, IObjectVisualizationData, IRoomObjectGraphicVisualization, IRoomObjectVisualizationFactory, NitroLogger, RoomObjectVisualizationType } from '../../../api';
import { NitroLogger } from '../../../core';
import { RoomObjectSpriteVisualization } from '../../../room'; import { RoomObjectSpriteVisualization } from '../../../room';
import { Nitro } from '../../Nitro'; import { Nitro } from '../../Nitro';
import { AvatarVisualization, AvatarVisualizationData, FurnitureAnimatedVisualization, FurnitureAnimatedVisualizationData, FurnitureBadgeDisplayVisualization, FurnitureBBVisualization, FurnitureBottleVisualization, FurnitureBuilderPlaceholderVisualization, FurnitureCounterClockVisualization, FurnitureCuboidVisualization, FurnitureExternalImageVisualization, FurnitureFireworksVisualization, FurnitureGiftWrappedFireworksVisualization, FurnitureGiftWrappedVisualization, FurnitureGuildCustomizedVisualization, FurnitureGuildIsometricBadgeVisualization, FurnitureHabboWheelVisualization, FurnitureIsometricBBVisualization, FurnitureMannequinVisualization, FurnitureMannequinVisualizationData, FurniturePartyBeamerVisualization, FurniturePlanetSystemVisualization, FurniturePosterVisualization, FurnitureQueueTileVisualization, FurnitureResettingAnimatedVisualization, FurnitureRoomBackgroundVisualization, FurnitureScoreBoardVisualization, FurnitureSoundBlockVisualization, FurnitureStickieVisualization, FurnitureValRandomizerVisualization, FurnitureVisualization, FurnitureVisualizationData, FurnitureVoteCounterVisualization, FurnitureVoteMajorityVisualization, FurnitureWaterAreaVisualization, FurnitureYoutubeVisualization, PetVisualization, PetVisualizationData, RoomVisualization, RoomVisualizationData, TileCursorVisualization } from './visualization'; import { AvatarVisualization, AvatarVisualizationData, FurnitureAnimatedVisualization, FurnitureAnimatedVisualizationData, FurnitureBadgeDisplayVisualization, FurnitureBBVisualization, FurnitureBottleVisualization, FurnitureBuilderPlaceholderVisualization, FurnitureCounterClockVisualization, FurnitureCuboidVisualization, FurnitureExternalImageVisualization, FurnitureFireworksVisualization, FurnitureGiftWrappedFireworksVisualization, FurnitureGiftWrappedVisualization, FurnitureGuildCustomizedVisualization, FurnitureGuildIsometricBadgeVisualization, FurnitureHabboWheelVisualization, FurnitureIsometricBBVisualization, FurnitureMannequinVisualization, FurnitureMannequinVisualizationData, FurniturePartyBeamerVisualization, FurniturePlanetSystemVisualization, FurniturePosterVisualization, FurnitureQueueTileVisualization, FurnitureResettingAnimatedVisualization, FurnitureRoomBackgroundVisualization, FurnitureScoreBoardVisualization, FurnitureSoundBlockVisualization, FurnitureStickieVisualization, FurnitureValRandomizerVisualization, FurnitureVisualization, FurnitureVisualizationData, FurnitureVoteCounterVisualization, FurnitureVoteMajorityVisualization, FurnitureWaterAreaVisualization, FurnitureYoutubeVisualization, PetVisualization, PetVisualizationData, RoomVisualization, RoomVisualizationData, TileCursorVisualization } from './visualization';

View File

@ -1,9 +1,8 @@
import { AvatarAction, IRoomGeometry, IRoomObjectModel, RoomObjectVariable, Vector3d } from '../../../../../api'; import { AvatarAction, IRoomGeometry, IRoomObjectModel, MouseEventType, RoomObjectVariable, Vector3d } from '../../../../../api';
import { RoomObjectFurnitureActionEvent, RoomObjectMoveEvent } from '../../../../../events'; import { RoomObjectFurnitureActionEvent, RoomObjectMoveEvent } from '../../../../../events';
import { GetTickerTime } from '../../../../../pixi-proxy'; import { GetTickerTime } from '../../../../../pixi-proxy';
import { RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { ObjectAvatarCarryObjectUpdateMessage, ObjectAvatarChatUpdateMessage, ObjectAvatarDanceUpdateMessage, ObjectAvatarEffectUpdateMessage, ObjectAvatarExpressionUpdateMessage, ObjectAvatarFigureUpdateMessage, ObjectAvatarFlatControlUpdateMessage, ObjectAvatarGestureUpdateMessage, ObjectAvatarMutedUpdateMessage, ObjectAvatarOwnMessage, ObjectAvatarPlayerValueUpdateMessage, ObjectAvatarPlayingGameUpdateMessage, ObjectAvatarPostureUpdateMessage, ObjectAvatarSelectedMessage, ObjectAvatarSignUpdateMessage, ObjectAvatarSleepUpdateMessage, ObjectAvatarTypingUpdateMessage, ObjectAvatarUpdateMessage, ObjectAvatarUseObjectUpdateMessage } from '../../../messages'; import { ObjectAvatarCarryObjectUpdateMessage, ObjectAvatarChatUpdateMessage, ObjectAvatarDanceUpdateMessage, ObjectAvatarEffectUpdateMessage, ObjectAvatarExpressionUpdateMessage, ObjectAvatarFigureUpdateMessage, ObjectAvatarFlatControlUpdateMessage, ObjectAvatarGestureUpdateMessage, ObjectAvatarMutedUpdateMessage, ObjectAvatarOwnMessage, ObjectAvatarPlayerValueUpdateMessage, ObjectAvatarPlayingGameUpdateMessage, ObjectAvatarPostureUpdateMessage, ObjectAvatarSelectedMessage, ObjectAvatarSignUpdateMessage, ObjectAvatarSleepUpdateMessage, ObjectAvatarTypingUpdateMessage, ObjectAvatarUpdateMessage, ObjectAvatarUseObjectUpdateMessage } from '../../../messages';
import { MovingObjectLogic } from '../MovingObjectLogic'; import { MovingObjectLogic } from '../MovingObjectLogic';

View File

@ -1,7 +1,6 @@
import { IRoomGeometry } from '../../../../../api'; import { IRoomGeometry, MouseEventType } from '../../../../../api';
import { RoomObjectStateChangedEvent } from '../../../../../events'; import { RoomObjectStateChangedEvent } from '../../../../../events';
import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureCounterClockLogic extends FurnitureLogic export class FurnitureCounterClockLogic extends FurnitureLogic

View File

@ -1,6 +1,5 @@
import { RoomObjectVariable } from '../../../../../api'; import { RoomObjectVariable, RoomWidgetEnumItemExtradataParameter } from '../../../../../api';
import { RoomObjectUpdateMessage } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room';
import { RoomWidgetEnumItemExtradataParameter } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureCrackableLogic extends FurnitureLogic export class FurnitureCrackableLogic extends FurnitureLogic

View File

@ -1,4 +1,4 @@
import { RoomWidgetEnum } from '../../../../ui'; import { RoomWidgetEnum } from '../../../../../api';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureCraftingGizmoLogic extends FurnitureLogic export class FurnitureCraftingGizmoLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IRoomGeometry } from '../../../../../api'; import { IRoomGeometry, MouseEventType } from '../../../../../api';
import { RoomObjectFurnitureActionEvent } from '../../../../../events'; import { RoomObjectFurnitureActionEvent } from '../../../../../events';
import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureDiceLogic extends FurnitureLogic export class FurnitureDiceLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IAssetData, IRoomGeometry, RoomObjectVariable } from '../../../../../api'; import { IAssetData, IRoomGeometry, MouseEventType, RoomObjectVariable } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomSpriteMouseEvent } from '../../../../../room'; import { RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureEditableInternalLinkLogic extends FurnitureLogic export class FurnitureEditableInternalLinkLogic extends FurnitureLogic

View File

@ -1,5 +1,5 @@
import { ContextMenuEnum } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { ContextMenuEnum } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureEffectBoxLogic extends FurnitureLogic export class FurnitureEffectBoxLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IAssetData, IParticleSystem, IRoomGeometry, RoomObjectVariable } from '../../../../../api'; import { IAssetData, IParticleSystem, IRoomGeometry, MouseEventType, RoomObjectVariable } from '../../../../../api';
import { RoomObjectStateChangedEvent } from '../../../../../events'; import { RoomObjectStateChangedEvent } from '../../../../../events';
import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureFireworksLogic extends FurnitureLogic export class FurnitureFireworksLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IAssetData, RoomObjectVariable, StringDataType } from '../../../../../api'; import { ContextMenuEnum, IAssetData, RoomObjectVariable, StringDataType } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomObjectUpdateMessage } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room';
import { ContextMenuEnum } from '../../../../ui';
import { ObjectDataUpdateMessage } from '../../../messages'; import { ObjectDataUpdateMessage } from '../../../messages';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';

View File

@ -1,8 +1,7 @@
import { IRoomGeometry, RoomObjectVariable, StringDataType } from '../../../../../api'; import { IRoomGeometry, MouseEventType, RoomObjectVariable, StringDataType } from '../../../../../api';
import { RoomObjectBadgeAssetEvent, RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectBadgeAssetEvent, RoomObjectWidgetRequestEvent } from '../../../../../events';
import { GetTickerTime } from '../../../../../pixi-proxy'; import { GetTickerTime } from '../../../../../pixi-proxy';
import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { ObjectDataUpdateMessage, ObjectGroupBadgeUpdateMessage, ObjectSelectedMessage } from '../../../messages'; import { ObjectDataUpdateMessage, ObjectGroupBadgeUpdateMessage, ObjectSelectedMessage } from '../../../messages';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';

View File

@ -1,7 +1,6 @@
import { IRoomGeometry } from '../../../../../api'; import { IRoomGeometry, MouseEventType } from '../../../../../api';
import { RoomObjectStateChangedEvent } from '../../../../../events'; import { RoomObjectStateChangedEvent } from '../../../../../events';
import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectEvent, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureHockeyScoreLogic extends FurnitureLogic export class FurnitureHockeyScoreLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IAssetData, IRoomGeometry, RoomObjectVariable } from '../../../../../api'; import { IAssetData, IRoomGeometry, MouseEventType, RoomObjectVariable } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomSpriteMouseEvent } from '../../../../../room'; import { RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureInternalLinkLogic extends FurnitureLogic export class FurnitureInternalLinkLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { RoomObjectVariable } from '../../../../../api'; import { RoomObjectVariable, RoomWidgetEnumItemExtradataParameter } from '../../../../../api';
import { RoomObjectFurnitureActionEvent, RoomObjectStateChangedEvent, RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectFurnitureActionEvent, RoomObjectStateChangedEvent, RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomObjectUpdateMessage } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room';
import { RoomWidgetEnumItemExtradataParameter } from '../../../../ui';
import { ObjectDataUpdateMessage } from '../../../messages'; import { ObjectDataUpdateMessage } from '../../../messages';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';

View File

@ -1,8 +1,6 @@
import { IAssetData, IRoomGeometry, IRoomObjectController, IRoomObjectModel, IVector3D, RoomObjectVariable, Vector3d } from '../../../../../api'; import { IAssetData, IRoomGeometry, IRoomObjectController, IRoomObjectModel, IVector3D, MouseEventType, NitroConfiguration, RoomObjectVariable, Vector3d } from '../../../../../api';
import { RoomObjectRoomAdEvent, RoomObjectStateChangedEvent, RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectRoomAdEvent, RoomObjectStateChangedEvent, RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { Nitro } from '../../../../Nitro';
import { MouseEventType } from '../../../../ui';
import { ObjectDataUpdateMessage, ObjectHeightUpdateMessage, ObjectItemDataUpdateMessage, ObjectMoveUpdateMessage, ObjectSelectedMessage } from '../../../messages'; import { ObjectDataUpdateMessage, ObjectHeightUpdateMessage, ObjectItemDataUpdateMessage, ObjectMoveUpdateMessage, ObjectSelectedMessage } from '../../../messages';
import { MovingObjectLogic } from '../MovingObjectLogic'; import { MovingObjectLogic } from '../MovingObjectLogic';
@ -49,12 +47,12 @@ export class FurnitureLogic extends MovingObjectLogic
if (FurnitureLogic.BOUNCING_STEPS === -1) if (FurnitureLogic.BOUNCING_STEPS === -1)
{ {
FurnitureLogic.BOUNCING_STEPS = Nitro.instance.getConfiguration<number>('furni.rotation.bounce.steps', 8); FurnitureLogic.BOUNCING_STEPS = NitroConfiguration.getValue<number>('furni.rotation.bounce.steps', 8);
} }
if (FurnitureLogic.BOUNCING_Z === -1) if (FurnitureLogic.BOUNCING_Z === -1)
{ {
FurnitureLogic.BOUNCING_Z = Nitro.instance.getConfiguration<number>('furni.rotation.bounce.height', 0.0625); FurnitureLogic.BOUNCING_Z = NitroConfiguration.getValue<number>('furni.rotation.bounce.height', 0.0625);
} }
} }

View File

@ -1,5 +1,5 @@
import { ContextMenuEnum } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { ContextMenuEnum } from '../../../../ui';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
export class FurnitureMonsterplantSeedLogic extends FurnitureMultiStateLogic export class FurnitureMonsterplantSeedLogic extends FurnitureMultiStateLogic

View File

@ -1,7 +1,6 @@
import { IRoomGeometry } from '../../../../../api'; import { IRoomGeometry, MouseEventType } from '../../../../../api';
import { RoomObjectFurnitureActionEvent } from '../../../../../events'; import { RoomObjectFurnitureActionEvent } from '../../../../../events';
import { RoomSpriteMouseEvent } from '../../../../../room'; import { RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureMultiStateLogic extends FurnitureLogic export class FurnitureMultiStateLogic extends FurnitureLogic

View File

@ -1,5 +1,5 @@
import { ContextMenuEnum } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { ContextMenuEnum } from '../../../../ui';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
export class FurnitureMysteryBoxLogic extends FurnitureMultiStateLogic export class FurnitureMysteryBoxLogic extends FurnitureMultiStateLogic

View File

@ -1,5 +1,5 @@
import { ContextMenuEnum } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { ContextMenuEnum } from '../../../../ui';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
export class FurnitureMysteryTrophyLogic extends FurnitureMultiStateLogic export class FurnitureMysteryTrophyLogic extends FurnitureMultiStateLogic

View File

@ -1,7 +1,6 @@
import { RoomObjectVariable } from '../../../../../api'; import { RoomObjectVariable, RoomWidgetEnumItemExtradataParameter } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomObjectUpdateMessage } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room';
import { RoomWidgetEnumItemExtradataParameter } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurniturePetCustomizationLogic extends FurnitureLogic export class FurniturePetCustomizationLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IAssetData, IParticleSystem, IRoomGeometry, MapDataType, RoomObjectVariable } from '../../../../../api'; import { IAssetData, IParticleSystem, IRoomGeometry, MapDataType, MouseEventType, RoomObjectVariable } from '../../../../../api';
import { RoomObjectFurnitureActionEvent, RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectFurnitureActionEvent, RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { ObjectDataUpdateMessage, ObjectModelDataUpdateMessage } from '../../../messages'; import { ObjectDataUpdateMessage, ObjectModelDataUpdateMessage } from '../../../messages';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';

View File

@ -1,5 +1,5 @@
import { ContextMenuEnum } from '../../../../../api';
import { RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectWidgetRequestEvent } from '../../../../../events';
import { ContextMenuEnum } from '../../../../ui';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
export class FurniturePurchaseableClothingLogic extends FurnitureMultiStateLogic export class FurniturePurchaseableClothingLogic extends FurnitureMultiStateLogic

View File

@ -1,4 +1,4 @@
import { ContextMenuEnum } from '../../../../ui'; import { ContextMenuEnum } from '../../../../../api';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
export class FurnitureRandomTeleportLogic extends FurnitureMultiStateLogic export class FurnitureRandomTeleportLogic extends FurnitureMultiStateLogic

View File

@ -1,7 +1,6 @@
import { RoomObjectVariable } from '../../../../../api'; import { RoomObjectVariable, RoomWidgetEnum } from '../../../../../api';
import { AdvancedMap } from '../../../../../core'; import { AdvancedMap } from '../../../../../core';
import { RoomObjectDataRequestEvent } from '../../../../../events'; import { RoomObjectDataRequestEvent } from '../../../../../events';
import { RoomWidgetEnum } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureRentableSpaceLogic extends FurnitureLogic export class FurnitureRentableSpaceLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { IRoomGeometry, NumberDataType, RoomObjectVariable } from '../../../../../api'; import { IRoomGeometry, MouseEventType, NumberDataType, RoomObjectVariable } from '../../../../../api';
import { RoomObjectHSLColorEnableEvent, RoomObjectWidgetRequestEvent } from '../../../../../events'; import { RoomObjectHSLColorEnableEvent, RoomObjectWidgetRequestEvent } from '../../../../../events';
import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { ObjectDataUpdateMessage } from '../../../messages'; import { ObjectDataUpdateMessage } from '../../../messages';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';

View File

@ -1,10 +1,9 @@
import { BaseTexture, Texture } from '@pixi/core'; import { BaseTexture, Texture } from '@pixi/core';
import { decompressFrames, parseGIF } from 'gifuct-js'; import { decompressFrames, parseGIF } from 'gifuct-js';
import { IAssetData, IRoomGeometry, MapDataType, RoomObjectVariable } from '../../../../../api'; import { IAssetData, IRoomGeometry, MapDataType, MouseEventType, RoomObjectVariable, RoomWidgetEnumItemExtradataParameter } from '../../../../../api';
import { RoomObjectRoomAdEvent } from '../../../../../events'; import { RoomObjectRoomAdEvent } from '../../../../../events';
import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { Nitro } from '../../../../Nitro'; import { Nitro } from '../../../../Nitro';
import { MouseEventType, RoomWidgetEnumItemExtradataParameter } from '../../../../ui';
import { ObjectAdUpdateMessage, ObjectDataUpdateMessage } from '../../../messages'; import { ObjectAdUpdateMessage, ObjectDataUpdateMessage } from '../../../messages';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';

View File

@ -1,6 +1,5 @@
import { RoomObjectVariable } from '../../../../../api'; import { RoomObjectVariable, RoomWidgetEnumItemExtradataParameter } from '../../../../../api';
import { RoomObjectUpdateMessage } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room';
import { RoomWidgetEnumItemExtradataParameter } from '../../../../ui';
import { FurnitureLogic } from './FurnitureLogic'; import { FurnitureLogic } from './FurnitureLogic';
export class FurnitureSongDiskLogic extends FurnitureLogic export class FurnitureSongDiskLogic extends FurnitureLogic

View File

@ -1,7 +1,6 @@
import { RoomObjectVariable } from '../../../../../api'; import { RoomObjectVariable, RoomWidgetEnumItemExtradataParameter } from '../../../../../api';
import { RoomObjectFurnitureActionEvent } from '../../../../../events'; import { RoomObjectFurnitureActionEvent } from '../../../../../events';
import { RoomObjectUpdateMessage } from '../../../../../room'; import { RoomObjectUpdateMessage } from '../../../../../room';
import { RoomWidgetEnumItemExtradataParameter } from '../../../../ui';
import { ObjectDataUpdateMessage } from '../../../messages'; import { ObjectDataUpdateMessage } from '../../../messages';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';

View File

@ -1,7 +1,6 @@
import { IRoomGeometry } from '../../../../../api'; import { IRoomGeometry, MouseEventType } from '../../../../../api';
import { RoomObjectStateChangedEvent } from '../../../../../events'; import { RoomObjectStateChangedEvent } from '../../../../../events';
import { RoomSpriteMouseEvent } from '../../../../../room'; import { RoomSpriteMouseEvent } from '../../../../../room';
import { MouseEventType } from '../../../../ui';
import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic'; import { FurnitureMultiStateLogic } from './FurnitureMultiStateLogic';
export class FurnitureWelcomeGiftLogic extends FurnitureMultiStateLogic export class FurnitureWelcomeGiftLogic extends FurnitureMultiStateLogic

View File

@ -1,8 +1,7 @@
import { IAssetData, IRoomGeometry, IRoomObjectModel, PetType, RoomObjectVariable, Vector3d } from '../../../../../api'; import { IAssetData, IRoomGeometry, IRoomObjectModel, MouseEventType, PetType, RoomObjectVariable, Vector3d } from '../../../../../api';
import { RoomObjectMoveEvent } from '../../../../../events'; import { RoomObjectMoveEvent } from '../../../../../events';
import { RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { PetFigureData } from '../../../../avatar'; import { PetFigureData } from '../../../../avatar';
import { MouseEventType } from '../../../../ui';
import { ObjectAvatarChatUpdateMessage, ObjectAvatarExperienceUpdateMessage, ObjectAvatarFigureUpdateMessage, ObjectAvatarPetGestureUpdateMessage, ObjectAvatarPostureUpdateMessage, ObjectAvatarSelectedMessage, ObjectAvatarSleepUpdateMessage, ObjectAvatarUpdateMessage } from '../../../messages'; import { ObjectAvatarChatUpdateMessage, ObjectAvatarExperienceUpdateMessage, ObjectAvatarFigureUpdateMessage, ObjectAvatarPetGestureUpdateMessage, ObjectAvatarPostureUpdateMessage, ObjectAvatarSelectedMessage, ObjectAvatarSleepUpdateMessage, ObjectAvatarUpdateMessage } from '../../../messages';
import { MovingObjectLogic } from '../MovingObjectLogic'; import { MovingObjectLogic } from '../MovingObjectLogic';

View File

@ -1,9 +1,7 @@
import { Point } from '@pixi/math'; import { Point } from '@pixi/math';
import { IRoomGeometry, IRoomObjectModel, RoomObjectVariable, Vector3d } from '../../../../../api'; import { IRoomGeometry, IRoomObjectModel, MouseEventType, NitroConfiguration, RoomObjectVariable, Vector3d } from '../../../../../api';
import { RoomObjectTileMouseEvent, RoomObjectWallMouseEvent } from '../../../../../events'; import { RoomObjectTileMouseEvent, RoomObjectWallMouseEvent } from '../../../../../events';
import { ColorConverter, RoomObjectEvent, RoomObjectLogicBase, RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room'; import { ColorConverter, RoomObjectEvent, RoomObjectLogicBase, RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomSpriteMouseEvent } from '../../../../../room';
import { Nitro } from '../../../../Nitro';
import { MouseEventType } from '../../../../ui';
import { ObjectRoomColorUpdateMessage, ObjectRoomFloorHoleUpdateMessage, ObjectRoomMapUpdateMessage, ObjectRoomMaskUpdateMessage, ObjectRoomPlanePropertyUpdateMessage, ObjectRoomPlaneVisibilityUpdateMessage, ObjectRoomUpdateMessage } from '../../../messages'; import { ObjectRoomColorUpdateMessage, ObjectRoomFloorHoleUpdateMessage, ObjectRoomMapUpdateMessage, ObjectRoomMaskUpdateMessage, ObjectRoomPlanePropertyUpdateMessage, ObjectRoomPlaneVisibilityUpdateMessage, ObjectRoomUpdateMessage } from '../../../messages';
import { RoomMapData } from '../../RoomMapData'; import { RoomMapData } from '../../RoomMapData';
import { RoomPlaneBitmapMaskData } from '../../RoomPlaneBitmapMaskData'; import { RoomPlaneBitmapMaskData } from '../../RoomPlaneBitmapMaskData';
@ -86,7 +84,7 @@ export class RoomLogic extends RoomObjectLogicBase
this.object.model.setValue(RoomObjectVariable.ROOM_WALL_VISIBILITY, 1); this.object.model.setValue(RoomObjectVariable.ROOM_WALL_VISIBILITY, 1);
this.object.model.setValue(RoomObjectVariable.ROOM_LANDSCAPE_VISIBILITY, 1); this.object.model.setValue(RoomObjectVariable.ROOM_LANDSCAPE_VISIBILITY, 1);
this._skipColorTransition = (Nitro.instance.getConfiguration<boolean>('room.color.skip.transition') === true); this._skipColorTransition = (NitroConfiguration.getValue<boolean>('room.color.skip.transition') === true);
} }
public update(time: number): void public update(time: number): void

View File

@ -1,5 +1,5 @@
import { IAdvancedMap, IParticleSystem, RoomObjectVariable } from '../../../../../api'; import { IAdvancedMap, IParticleSystem, NitroLogger, RoomObjectVariable } from '../../../../../api';
import { AdvancedMap, NitroLogger } from '../../../../../core'; import { AdvancedMap } from '../../../../../core';
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization'; import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';
import { FurnitureParticleSystem } from './FurnitureParticleSystem'; import { FurnitureParticleSystem } from './FurnitureParticleSystem';

View File

@ -1,6 +1,5 @@
import { Graphics } from '@pixi/graphics'; import { Graphics } from '@pixi/graphics';
import { IVector3D } from '../../../../../../../api'; import { IVector3D, NitroConfiguration } from '../../../../../../../api';
import { Nitro } from '../../../../../../Nitro';
import { PlaneBitmapData, Randomizer } from '../../utils'; import { PlaneBitmapData, Randomizer } from '../../utils';
import { PlaneMaterial, PlaneRasterizer, PlaneVisualizationLayer } from '../basic'; import { PlaneMaterial, PlaneRasterizer, PlaneVisualizationLayer } from '../basic';
import { LandscapePlane } from './LandscapePlane'; import { LandscapePlane } from './LandscapePlane';
@ -136,8 +135,8 @@ export class LandscapeRasterizer extends PlaneRasterizer
const assetId = item.assetId; const assetId = item.assetId;
const x = this.getCoordinateValue(item.x || '', item.randomX || ''); const x = this.getCoordinateValue(item.x || '', item.randomX || '');
const y = this.getCoordinateValue(item.y || '', item.randomY || ''); const y = this.getCoordinateValue(item.y || '', item.randomY || '');
const speedX = item.speedX ? item.speedX / Nitro.instance.getConfiguration<number>('system.animation.fps') : 0; const speedX = item.speedX ? item.speedX / NitroConfiguration.getValue<number>('system.animation.fps') : 0;
const speedY = item.speedY ? item.speedY / Nitro.instance.getConfiguration<number>('system.animation.fps') : 0; const speedY = item.speedY ? item.speedY / NitroConfiguration.getValue<number>('system.animation.fps') : 0;
animationItems.push({ animationItems.push({
asset: assetId, asset: assetId,

View File

@ -1,5 +1,4 @@
import { IRoomObject, ITileObjectMap, RoomObjectVariable } from '../../../api'; import { IRoomObject, ITileObjectMap, NitroLogger, RoomObjectVariable } from '../../../api';
import { NitroLogger } from '../../../core';
export class TileObjectMap implements ITileObjectMap export class TileObjectMap implements ITileObjectMap
{ {

View File

@ -1,5 +1,5 @@
import { Resource, Texture } from '@pixi/core'; import { Resource, Texture } from '@pixi/core';
import { IFurnitureData, IFurnitureDataListener, IGroupInformationManager, IMessageComposer, INitroCommunicationManager, INitroEvent, IProductData, IProductDataListener, ISessionDataManager, NoobnessLevelEnum, SecurityLevel } from '../../api'; import { IFurnitureData, IFurnitureDataListener, IGroupInformationManager, IMessageComposer, INitroCommunicationManager, INitroEvent, IProductData, IProductDataListener, ISessionDataManager, NitroConfiguration, NoobnessLevelEnum, SecurityLevel } from '../../api';
import { NitroManager } from '../../core'; import { NitroManager } from '../../core';
import { MysteryBoxKeysUpdateEvent, NitroSettingsEvent, SessionDataPreferencesEvent, UserNameUpdateEvent } from '../../events'; import { MysteryBoxKeysUpdateEvent, NitroSettingsEvent, SessionDataPreferencesEvent, UserNameUpdateEvent } from '../../events';
import { AvailabilityStatusMessageEvent, ChangeUserNameResultMessageEvent, FigureUpdateEvent, InClientLinkEvent, MysteryBoxKeysEvent, NoobnessLevelMessageEvent, PetRespectComposer, RoomReadyMessageEvent, RoomUnitChatComposer, UserInfoEvent, UserNameChangeMessageEvent, UserPermissionsEvent, UserRespectComposer } from '../communication'; import { AvailabilityStatusMessageEvent, ChangeUserNameResultMessageEvent, FigureUpdateEvent, InClientLinkEvent, MysteryBoxKeysEvent, NoobnessLevelMessageEvent, PetRespectComposer, RoomReadyMessageEvent, RoomUnitChatComposer, UserInfoEvent, UserNameChangeMessageEvent, UserPermissionsEvent, UserRespectComposer } from '../communication';
@ -157,7 +157,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
this._furnitureData.addEventListener(FurnitureDataLoader.FURNITURE_DATA_READY, this.onFurnitureDataReadyEvent); this._furnitureData.addEventListener(FurnitureDataLoader.FURNITURE_DATA_READY, this.onFurnitureDataReadyEvent);
this._furnitureData.loadFurnitureData(Nitro.instance.getConfiguration<string>('furnidata.url')); this._furnitureData.loadFurnitureData(NitroConfiguration.getValue<string>('furnidata.url'));
} }
private loadProductData(): void private loadProductData(): void
@ -168,7 +168,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
this._productData.addEventListener(ProductDataLoader.PDP_PRODUCT_DATA_READY, this.onProductDataReadyEvent); this._productData.addEventListener(ProductDataLoader.PDP_PRODUCT_DATA_READY, this.onProductDataReadyEvent);
this._productData.loadProductData(Nitro.instance.getConfiguration<string>('productdata.url')); this._productData.loadProductData(NitroConfiguration.getValue<string>('productdata.url'));
} }
private loadBadgeImageManager(): void private loadBadgeImageManager(): void
@ -382,7 +382,7 @@ export class SessionDataManager extends NitroManager implements ISessionDataMana
if (this._noobnessLevel !== NoobnessLevelEnum.OLD_IDENTITY) if (this._noobnessLevel !== NoobnessLevelEnum.OLD_IDENTITY)
{ {
Nitro.instance.core.configuration.setValue<number>('new.identity', 1); NitroConfiguration.setValue<number>('new.identity', 1);
} }
} }

View File

@ -1,9 +1,8 @@
import { Resource, Texture } from '@pixi/core'; import { Resource, Texture } from '@pixi/core';
import { IAssetManager, IDisposable, IMessageEvent } from '../../../api'; import { IAssetManager, IDisposable, IMessageEvent, NitroConfiguration } from '../../../api';
import { BadgeImageReadyEvent } from '../../../events'; import { BadgeImageReadyEvent } from '../../../events';
import { NitroContainer, NitroSprite, NitroTexture, TextureUtils } from '../../../pixi-proxy'; import { NitroContainer, NitroSprite, NitroTexture, TextureUtils } from '../../../pixi-proxy';
import { GroupBadgePartsEvent } from '../../communication'; import { GroupBadgePartsEvent } from '../../communication';
import { Nitro } from '../../Nitro';
import { SessionDataManager } from './../SessionDataManager'; import { SessionDataManager } from './../SessionDataManager';
import { BadgeInfo } from './BadgeInfo'; import { BadgeInfo } from './BadgeInfo';
import { GroupBadge } from './GroupBadge'; import { GroupBadge } from './GroupBadge';
@ -134,7 +133,7 @@ export class BadgeImageManager implements IDisposable
private getBadgePlaceholder(): Texture<Resource> private getBadgePlaceholder(): Texture<Resource>
{ {
const url = (Nitro.instance.getConfiguration<string>('images.url') + '/loading_icon.png'); const url = (NitroConfiguration.getValue<string>('images.url') + '/loading_icon.png');
const existing = this._assets.getTexture(url); const existing = this._assets.getTexture(url);
if (!existing) return null; if (!existing) return null;
@ -149,7 +148,7 @@ export class BadgeImageManager implements IDisposable
switch (type) switch (type)
{ {
case BadgeImageManager.NORMAL_BADGE: case BadgeImageManager.NORMAL_BADGE:
url = (Nitro.instance.getConfiguration<string>('badge.asset.url')).replace('%badgename%', badge); url = (NitroConfiguration.getValue<string>('badge.asset.url')).replace('%badgename%', badge);
break; break;
case BadgeImageManager.GROUP_BADGE: case BadgeImageManager.GROUP_BADGE:
url = badge; url = badge;

View File

@ -1,5 +1,5 @@
import { FurnitureType, IFurnitureData, INitroLocalizationManager } from '../../../api'; import { FurnitureType, IFurnitureData, INitroLocalizationManager, NitroLogger } from '../../../api';
import { EventDispatcher, NitroLogger } from '../../../core'; import { EventDispatcher } from '../../../core';
import { NitroEvent } from '../../../events'; import { NitroEvent } from '../../../events';
import { FurnitureData } from './FurnitureData'; import { FurnitureData } from './FurnitureData';
@ -11,7 +11,6 @@ export class FurnitureDataLoader extends EventDispatcher
private _floorItems: Map<number, IFurnitureData>; private _floorItems: Map<number, IFurnitureData>;
private _wallItems: Map<number, IFurnitureData>; private _wallItems: Map<number, IFurnitureData>;
private _localization: INitroLocalizationManager; private _localization: INitroLocalizationManager;
private _nitroLogger: NitroLogger;
constructor(floorItems: Map<number, IFurnitureData>, wallItems: Map<number, IFurnitureData>, localization: INitroLocalizationManager) constructor(floorItems: Map<number, IFurnitureData>, wallItems: Map<number, IFurnitureData>, localization: INitroLocalizationManager)
{ {
@ -20,7 +19,6 @@ export class FurnitureDataLoader extends EventDispatcher
this._floorItems = floorItems; this._floorItems = floorItems;
this._wallItems = wallItems; this._wallItems = wallItems;
this._localization = localization; this._localization = localization;
this._nitroLogger = new NitroLogger(this.constructor.name);
} }
public loadFurnitureData(url: string): void public loadFurnitureData(url: string): void
@ -37,7 +35,7 @@ export class FurnitureDataLoader extends EventDispatcher
{ {
if (!data) return; if (!data) return;
if ((typeof data.roomitemtypes == 'undefined') || (typeof data.wallitemtypes == 'undefined')) this._nitroLogger.warn('Could not find `roomitemtypes` or `wallitemtypes` in furnidata.'); if ((typeof data.roomitemtypes == 'undefined') || (typeof data.wallitemtypes == 'undefined')) NitroLogger.warn('Could not find `roomitemtypes` or `wallitemtypes` in furnidata.');
if (data.roomitemtypes) this.parseFloorItems(data.roomitemtypes); if (data.roomitemtypes) this.parseFloorItems(data.roomitemtypes);

View File

@ -1,7 +1,6 @@
import { IConnection, IRoomHandlerListener } from '../../../api'; import { IConnection, IRoomHandlerListener, SystemChatStyleEnum } from '../../../api';
import { RoomSessionChatEvent } from '../../../events'; import { RoomSessionChatEvent } from '../../../events';
import { FloodControlEvent, PetRespectNoficationEvent, PetSupplementedNotificationEvent, PetSupplementTypeEnum, RemainingMuteEvent, RespectReceivedEvent, RoomUnitChatEvent, RoomUnitChatShoutEvent, RoomUnitChatWhisperEvent, RoomUnitHandItemReceivedEvent } from '../../communication'; import { FloodControlEvent, PetRespectNoficationEvent, PetSupplementedNotificationEvent, PetSupplementTypeEnum, RemainingMuteEvent, RespectReceivedEvent, RoomUnitChatEvent, RoomUnitChatShoutEvent, RoomUnitChatWhisperEvent, RoomUnitHandItemReceivedEvent } from '../../communication';
import { SystemChatStyleEnum } from '../../ui/widget/enums/SystemChatStyleEnum';
import { BaseHandler } from './BaseHandler'; import { BaseHandler } from './BaseHandler';
export class RoomChatHandler extends BaseHandler export class RoomChatHandler extends BaseHandler

View File

@ -1,4 +1,4 @@
import { IAdvancedMap, IMusicManager, INitroEvent, ISoundManager } from '../../api'; import { IAdvancedMap, IMusicManager, INitroEvent, ISoundManager, NitroConfiguration } from '../../api';
import { AdvancedMap, NitroManager } from '../../core'; import { AdvancedMap, NitroManager } from '../../core';
import { NitroSettingsEvent, NitroSoundEvent, RoomEngineEvent, RoomEngineObjectEvent, RoomEngineSamplePlaybackEvent } from '../../events'; import { NitroSettingsEvent, NitroSoundEvent, RoomEngineEvent, RoomEngineObjectEvent, RoomEngineSamplePlaybackEvent } from '../../events';
import { Nitro } from '../Nitro'; import { Nitro } from '../Nitro';
@ -124,7 +124,7 @@ export class SoundManager extends NitroManager implements ISoundManager
if (!sample) if (!sample)
{ {
const sampleUrl = Nitro.instance.getConfiguration<string>('sounds.url'); const sampleUrl = NitroConfiguration.getValue<string>('sounds.url');
sample = new Audio(sampleUrl.replace('%sample%', code)); sample = new Audio(sampleUrl.replace('%sample%', code));
this._internalSamples.add(code, sample); this._internalSamples.add(code, sample);
@ -139,7 +139,7 @@ export class SoundManager extends NitroManager implements ISoundManager
if (!sample) if (!sample)
{ {
const sampleUrl = Nitro.instance.getConfiguration<string>('external.samples.url'); const sampleUrl = NitroConfiguration.getValue<string>('external.samples.url');
sample = new Audio(sampleUrl.replace('%sample%', code.toString())); sample = new Audio(sampleUrl.replace('%sample%', code.toString()));
this._furniSamples.add(code, sample); this._furniSamples.add(code, sample);

View File

@ -1,4 +1,4 @@
import { NitroLogger } from '../../core'; import { NitroLogger } from '../../api';
import { LegacyExternalInterface } from '../externalInterface/LegacyExternalInterface'; import { LegacyExternalInterface } from '../externalInterface/LegacyExternalInterface';
export class HabboWebTools export class HabboWebTools
@ -39,7 +39,7 @@ export class HabboWebTools
catch (e) catch (e)
{ {
NitroLogger.log(('Failed to open web page ' + pageUrl)); NitroLogger.log('Failed to open web page', pageUrl);
} }
} }
@ -76,7 +76,7 @@ export class HabboWebTools
catch (e) catch (e)
{ {
NitroLogger.log(('Failed to open web page ' + pageUrl)); NitroLogger.log('Failed to open web page', pageUrl);
} }
} }
@ -108,7 +108,7 @@ export class HabboWebTools
catch (e) catch (e)
{ {
NitroLogger.log(('Failed to open Habblet ' + name)); NitroLogger.log('Failed to open Habblet', name);
} }
} }
@ -124,7 +124,7 @@ export class HabboWebTools
catch (e) catch (e)
{ {
NitroLogger.log(('Failed to close Habblet ' + name)); NitroLogger.log('Failed to close Habblet', name);
} }
} }
@ -156,7 +156,7 @@ export class HabboWebTools
catch (e) catch (e)
{ {
NitroLogger.log(('Failed to open game: ' + e)); NitroLogger.log('Failed to open game', e);
} }
} }

View File

@ -1,4 +1,4 @@
import { IGraphicAssetCollection, IRoomContentLoader, IRoomInstance, IRoomInstanceContainer, IRoomManager, IRoomManagerListener, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectManager, IRoomObjectVisualizationFactory } from '../api'; import { IGraphicAssetCollection, IRoomContentLoader, IRoomInstance, IRoomInstanceContainer, IRoomManager, IRoomManagerListener, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectManager, IRoomObjectVisualizationFactory, NitroLogger } from '../api';
import { NitroManager } from '../core'; import { NitroManager } from '../core';
import { RoomContentLoader } from '../nitro/room/RoomContentLoader'; import { RoomContentLoader } from '../nitro/room/RoomContentLoader';
import { RoomContentLoadedEvent } from './events'; import { RoomContentLoadedEvent } from './events';
@ -323,7 +323,7 @@ export class RoomManager extends NitroManager implements IRoomManager, IRoomInst
this._listener.initalizeTemporaryObjectsByType(type, false); this._listener.initalizeTemporaryObjectsByType(type, false);
} }
this.logger.log(`Invalid Collection: ${type}`); NitroLogger.log('Invalid Collection', type);
continue; continue;
} }

View File

@ -3,9 +3,8 @@ import { Container, DisplayObject } from '@pixi/display';
import { Graphics } from '@pixi/graphics'; import { Graphics } from '@pixi/graphics';
import { Matrix, Point, Rectangle } from '@pixi/math'; import { Matrix, Point, Rectangle } from '@pixi/math';
import { Sprite } from '@pixi/sprite'; import { Sprite } from '@pixi/sprite';
import { IRoomCanvasMouseListener, IRoomGeometry, IRoomObject, IRoomObjectSprite, IRoomObjectSpriteVisualization, IRoomRenderingCanvas, IRoomSpriteCanvasContainer, IRoomSpriteMouseEvent, RoomObjectSpriteData, RoomObjectSpriteType, Vector3d } from '../../api'; import { IRoomCanvasMouseListener, IRoomGeometry, IRoomObject, IRoomObjectSprite, IRoomObjectSpriteVisualization, IRoomRenderingCanvas, IRoomSpriteCanvasContainer, IRoomSpriteMouseEvent, MouseEventType, RoomObjectSpriteData, RoomObjectSpriteType, Vector3d } from '../../api';
import { Nitro } from '../../nitro/Nitro'; import { Nitro } from '../../nitro/Nitro';
import { MouseEventType } from '../../nitro/ui/MouseEventType';
import { NitroContainer, NitroSprite, PixiApplicationProxy } from '../../pixi-proxy'; import { NitroContainer, NitroSprite, PixiApplicationProxy } from '../../pixi-proxy';
import { RoomSpriteMouseEvent } from '../events'; import { RoomSpriteMouseEvent } from '../events';
import { RoomEnterEffect, RoomGeometry, RoomRotatingEffect, RoomShakingEffect } from '../utils'; import { RoomEnterEffect, RoomGeometry, RoomRotatingEffect, RoomShakingEffect } from '../utils';