diff --git a/src/api/asset/AssetManager.ts b/src/api/asset/AssetManager.ts index 790720c0..80c5588b 100644 --- a/src/api/asset/AssetManager.ts +++ b/src/api/asset/AssetManager.ts @@ -1,5 +1,6 @@ import { BaseTexture, Resource, Texture } from '@pixi/core'; import { Spritesheet } from '@pixi/spritesheet'; +import { NitroLogger } from '../common'; import { ArrayBufferToBase64, NitroBundle } from '../utils'; import { GraphicAssetCollection } from './GraphicAssetCollection'; import { IAssetData } from './IAssetData'; @@ -86,14 +87,11 @@ export class AssetManager implements IAssetManager { if(!urls || !urls.length) return true; - const responses = await Promise.all(urls.map(url => fetch(url))); - - if(!responses || !responses.length) return false; - try { - for(const response of responses) + for await (const url of urls) { + const response = await fetch(url); const contentType = response.headers.get('Content-Type'); switch(contentType) @@ -137,14 +135,16 @@ export class AssetManager implements IAssetManager } } } + + return true; } catch (err) { - console.error(err); - } + NitroLogger.error(err); - return true; + return false; + } } private async processAsset(baseTexture: BaseTexture, data: IAssetData): Promise diff --git a/src/api/common/IEventDispatcher.ts b/src/api/common/IEventDispatcher.ts index 1456adff..3d4f1785 100644 --- a/src/api/common/IEventDispatcher.ts +++ b/src/api/common/IEventDispatcher.ts @@ -1,6 +1,5 @@ import { IDisposable } from './IDisposable'; import { INitroEvent } from './INitroEvent'; -import { INitroLogger } from './INitroLogger'; export interface IEventDispatcher extends IDisposable { @@ -8,5 +7,4 @@ export interface IEventDispatcher extends IDisposable removeEventListener(type: string, callback: Function): void; removeAllListeners(): void; dispatchEvent(event: INitroEvent): boolean; - logger: INitroLogger; } diff --git a/src/api/common/INitroLogger.ts b/src/api/common/INitroLogger.ts deleted file mode 100644 index 3a44dd92..00000000 --- a/src/api/common/INitroLogger.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface INitroLogger -{ - log(...message: any[]): void; - error(...message: any[]): void; - warn(...message: any[]): void; - description: string | number; - print: boolean; -} diff --git a/src/api/common/INitroManager.ts b/src/api/common/INitroManager.ts index 2840ac2c..22ac5f84 100644 --- a/src/api/common/INitroManager.ts +++ b/src/api/common/INitroManager.ts @@ -1,11 +1,9 @@ import { IDisposable } from './IDisposable'; import { IEventDispatcher } from './IEventDispatcher'; -import { INitroLogger } from './INitroLogger'; export interface INitroManager extends IDisposable { init(): void; - logger: INitroLogger; events: IEventDispatcher; isLoaded: boolean; isLoading: boolean; diff --git a/src/api/common/NitroLogger.ts b/src/api/common/NitroLogger.ts index af770af9..d7b52b1a 100644 --- a/src/api/common/NitroLogger.ts +++ b/src/api/common/NitroLogger.ts @@ -1,77 +1,30 @@ -import { INitroLogger } from './INitroLogger'; - -export class NitroLogger implements INitroLogger +export class NitroLogger { - private _name: string; - private _description: string | number; - private _print: boolean; + public static DEBUG_ENABLED: boolean = false; - constructor(name: string, description: string | number = null) + public static log(...messages: any[]): void { - this._name = name; - this._description = description; - this._print = true; + if(!this.DEBUG_ENABLED) return; + + console.log(this.logPrefix(), ...messages); } - public log(...message: any[]): void + public static error(...messages: any[]): void { - this.printMessage('log', ...message); + if(!this.DEBUG_ENABLED) return; + + console.error(this.logPrefix(), ...messages); } - public error(...message: any[]): void + public static warn(...messages: any[]): void { - this.printMessage('error', ...message); - } + if(!this.DEBUG_ENABLED) return; - public warn(...message: any[]): void - { - this.printMessage('warn', ...message); - } - - public printMessage(modus: string, ...message: any[]): void - { - if(!this._print) return; - - NitroLogger.log(this._name, modus, ...message); + console.warn(this.logPrefix(), ...messages); } private static logPrefix(): string { return '[Nitro]'; } - - public static log(...messages: any[]): void - { - console.log(this.logPrefix(), ...messages); - } - - public static error(...messages: any[]): void - { - console.error(this.logPrefix(), ...messages); - } - - public static warn(...messages: any[]): void - { - console.warn(this.logPrefix(), ...messages); - } - - public get description(): string | number - { - return this._description; - } - - public set description(description: string | number) - { - this._description = description; - } - - public get print(): boolean - { - return this._print; - } - - public set print(flag: boolean) - { - this._print = flag; - } } diff --git a/src/api/common/index.ts b/src/api/common/index.ts index 08da838e..5142ae0c 100644 --- a/src/api/common/index.ts +++ b/src/api/common/index.ts @@ -2,7 +2,6 @@ export * from './IDisposable'; export * from './IEventDispatcher'; export * from './ILinkEventTracker'; export * from './INitroEvent'; -export * from './INitroLogger'; export * from './INitroManager'; export * from './IUpdateReceiver'; export * from './NitroLogger'; diff --git a/src/core/common/EventDispatcher.ts b/src/core/common/EventDispatcher.ts index 7cd30923..fb294c59 100644 --- a/src/core/common/EventDispatcher.ts +++ b/src/core/common/EventDispatcher.ts @@ -1,16 +1,14 @@ -import { IDisposable, IEventDispatcher, INitroEvent, INitroLogger, NitroConfiguration, NitroLogger } from '../../api'; +import { IDisposable, IEventDispatcher, INitroEvent, NitroConfiguration, NitroLogger } from '../../api'; import { Disposable } from './Disposable'; export class EventDispatcher extends Disposable implements IEventDispatcher, IDisposable { - private _logger: INitroLogger; private _listeners: Map; constructor() { super(); - this._logger = new NitroLogger(this.constructor.name); this._listeners = new Map(); } @@ -61,7 +59,7 @@ export class EventDispatcher extends Disposable implements IEventDispatcher, IDi { if(!event) return false; - if(NitroConfiguration.getValue('system.dispatcher.log')) this._logger.log('Dispatched Event', event.type); + if(NitroConfiguration.getValue('system.dispatcher.log')) NitroLogger.log('Dispatched Event', event.type); this.processEvent(event); @@ -94,7 +92,7 @@ export class EventDispatcher extends Disposable implements IEventDispatcher, IDi catch (err) { - this._logger.error(err.stack); + NitroLogger.error(err.stack); return; } @@ -105,9 +103,4 @@ export class EventDispatcher extends Disposable implements IEventDispatcher, IDi { this._listeners.clear(); } - - public get logger(): INitroLogger - { - return this._logger; - } } diff --git a/src/core/common/NitroManager.ts b/src/core/common/NitroManager.ts index 20cdaddc..802ec663 100644 --- a/src/core/common/NitroManager.ts +++ b/src/core/common/NitroManager.ts @@ -1,22 +1,18 @@ -import { IEventDispatcher, INitroLogger, INitroManager, NitroLogger } from '../../api'; +import { IEventDispatcher, INitroManager } from '../../api'; import { Disposable } from './Disposable'; import { EventDispatcher } from './EventDispatcher'; export class NitroManager extends Disposable implements INitroManager { - private _logger: INitroLogger; - private _events: IEventDispatcher; private _isLoaded: boolean; private _isLoading: boolean; - constructor(logger: INitroLogger = null) + constructor() { super(); - this._logger = logger instanceof NitroLogger ? logger : new NitroLogger(this.constructor.name); - this._events = new EventDispatcher(); this._isLoaded = false; @@ -53,11 +49,6 @@ export class NitroManager extends Disposable implements INitroManager this.init(); } - public get logger(): INitroLogger - { - return this._logger; - } - public get events(): IEventDispatcher { return this._events; diff --git a/src/nitro/avatar/animation/AnimationManager.ts b/src/nitro/avatar/animation/AnimationManager.ts index 528abac6..73f3f237 100644 --- a/src/nitro/avatar/animation/AnimationManager.ts +++ b/src/nitro/avatar/animation/AnimationManager.ts @@ -13,6 +13,8 @@ export class AnimationManager implements IAnimationManager public registerAnimation(structure: AvatarStructure, _arg_2: { [index: string]: IAssetAnimation }): boolean { + if(!_arg_2) return false; + const animationData = _arg_2[Object.keys(_arg_2)[0]]; const animation = new Animation(structure, animationData); diff --git a/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts b/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts index c004dabd..ae1e9103 100644 --- a/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts +++ b/src/nitro/communication/messages/parser/room/unit/RoomUnitStatusParser.ts @@ -108,52 +108,6 @@ export class RoomUnitStatusParser implements IMessageParser } } - // const totalActions = actionParts.length; - - // if(totalActions) - // { - // for(let i = 0; i < totalActions; i++) - // { - // const action = actionParts[i]; - - // if(!action) continue; - - // console.log(action); - - // const [ key, value, extra ] = action.split(' '); - - // if(!key || !value) continue; - - // switch(key) - // { - // case 'mv': - // [ targetX, targetY, targetZ ] = value.split(',').map(a => parseFloat(a)); - - // didMove = true; - - // break; - // case 'sit': { - // const sitHeight = parseFloat(value); - - // if(extra !== undefined) canStandUp = value === '1'; - - // height = sitHeight; - - // break; - // } - // case 'lay': { - // const layHeight = parseFloat(value); - - // height = layHeight; - - // break; - // } - // } - - // statusActions.push(new RoomUnitStatusAction(key, value)); - // } - // } - this._statuses.push(new RoomUnitStatusMessage(unitId, x, y, z, height, headDirection, direction, targetX, targetY, targetZ, didMove, canStandUp, statusActions)); } } diff --git a/src/nitro/room/RoomEngine.ts b/src/nitro/room/RoomEngine.ts index f085dd8b..c37d4b66 100644 --- a/src/nitro/room/RoomEngine.ts +++ b/src/nitro/room/RoomEngine.ts @@ -3366,7 +3366,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato //return new RenderRoomThumbnailMessageComposer(_local_12, _local_10, _local_11, this._activeRoomId, this._sessionDataManager._Str_8500); } - console.log(_local_10, _local_11, _local_12); + NitroLogger.log(_local_10, _local_11, _local_12); //return new RenderRoomMessageComposer(_local_12, _local_10, _local_11, this._activeRoomId, this._sessionDataManager._Str_8500); diff --git a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts index f54b4b02..442793b3 100644 --- a/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts +++ b/src/nitro/room/object/visualization/room/rasterizer/basic/PlaneMaterialCellColumn.ts @@ -1,5 +1,5 @@ import { Graphics } from '@pixi/graphics'; -import { IVector3D, Vector3d } from '../../../../../../../api'; +import { IVector3D, NitroLogger, Vector3d } from '../../../../../../../api'; import { NitroRenderTexture } from '../../../../../../../pixi-proxy'; import { PlaneMaterialCell } from './PlaneMaterialCell'; @@ -193,19 +193,19 @@ export class PlaneMaterialCellColumn this.renderRepeatNone(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_BORDERS: - console.log('REPEAT_MODE_BORDERS'); + NitroLogger.log('REPEAT_MODE_BORDERS'); // this.renderRepeatBorders(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_CENTER: - console.log('REPEAT_MODE_CENTER'); + NitroLogger.log('REPEAT_MODE_CENTER'); // this.renderRepeatCenter(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_FIRST: - console.log('REPEAT_MODE_FIRST'); + NitroLogger.log('REPEAT_MODE_FIRST'); // this.renderRepeatFirst(normal); break; case PlaneMaterialCellColumn.REPEAT_MODE_LAST: - console.log('REPEAT_MODE_LAST'); + NitroLogger.log('REPEAT_MODE_LAST'); // this.renderRepeatLast(normal); break; default: diff --git a/src/nitro/session/furniture/FurnitureDataLoader.ts b/src/nitro/session/furniture/FurnitureDataLoader.ts index 393005fc..d1301447 100644 --- a/src/nitro/session/furniture/FurnitureDataLoader.ts +++ b/src/nitro/session/furniture/FurnitureDataLoader.ts @@ -48,7 +48,7 @@ export class FurnitureDataLoader extends EventDispatcher { if(!error) return; - console.error(error); + NitroLogger.error(error); this.dispatchEvent(new NitroEvent(FurnitureDataLoader.FURNITURE_DATA_ERROR)); } diff --git a/src/nitro/sound/SoundManager.ts b/src/nitro/sound/SoundManager.ts index 1b4464ff..9068db10 100644 --- a/src/nitro/sound/SoundManager.ts +++ b/src/nitro/sound/SoundManager.ts @@ -1,4 +1,4 @@ -import { AdvancedMap, IAdvancedMap, IMusicController, INitroEvent, ISoundManager, NitroConfiguration } from '../../api'; +import { AdvancedMap, IAdvancedMap, IMusicController, INitroEvent, ISoundManager, NitroConfiguration, NitroLogger } from '../../api'; import { NitroManager } from '../../core'; import { NitroSettingsEvent, NitroSoundEvent, RoomEngineEvent, RoomEngineObjectEvent, RoomEngineSamplePlaybackEvent } from '../../events'; import { Nitro } from '../Nitro'; @@ -117,7 +117,7 @@ export class SoundManager extends NitroManager implements ISoundManager } catch (e) { - console.log(e); + NitroLogger.error(e); } } @@ -180,7 +180,7 @@ export class SoundManager extends NitroManager implements ISoundManager } catch (e) { - console.log(e); + NitroLogger.error(e); } } @@ -202,7 +202,7 @@ export class SoundManager extends NitroManager implements ISoundManager } catch (e) { - console.log(e); + NitroLogger.error(e); } } diff --git a/src/nitro/sound/music/MusicPlayer.ts b/src/nitro/sound/music/MusicPlayer.ts index 862e560a..936ec218 100644 --- a/src/nitro/sound/music/MusicPlayer.ts +++ b/src/nitro/sound/music/MusicPlayer.ts @@ -1,4 +1,5 @@ import { Howl, Howler } from 'howler'; +import { NitroLogger } from '../../../api'; import { Nitro } from '../../Nitro'; import { SoundManagerEvent } from '../events'; import { TraxData } from '../trax/TraxData'; @@ -127,7 +128,7 @@ export class MusicPlayer { const sampleSound = await this.getSample(sample.id); - const sampleCount = Math.ceil( (sample.length * 2) / Math.ceil(sampleSound.duration())); + const sampleCount = Math.ceil((sample.length * 2) / Math.ceil(sampleSound.duration())); for(let i = 0; i < sampleCount; i++) { @@ -141,7 +142,7 @@ export class MusicPlayer this._sequence.push(sequenceEntryArray); } - if(this._playLength <= 0) this._playLength = Math.max(...this._sequence.map( (value: ISequenceEntry[] ) => value.length)); + if(this._playLength <= 0) this._playLength = Math.max(...this._sequence.map((value: ISequenceEntry[]) => value.length)); } public async preloadSamplesForSong(song: string): Promise @@ -153,7 +154,7 @@ export class MusicPlayer private async loadSong(songId: number): Promise { - return new Promise ((resolve, reject) => + return new Promise((resolve, reject) => { const sample = new Howl({ src: [this._sampleUrl.replace('%sample%', songId.toString())], @@ -168,7 +169,7 @@ export class MusicPlayer sample.once('loaderror', () => { - console.log('failed to load sample ' + songId); + NitroLogger.error('failed to load sample ' + songId); reject('failed to load sample ' + songId); }); });