Move pixi-proxy files

This commit is contained in:
Bill 2022-10-29 23:09:19 -04:00
parent 7dc36f2e77
commit 894680ed36
40 changed files with 550 additions and 549 deletions

View File

@ -1,4 +1,4 @@
import { NitroBaseTexture, NitroFilter } from './proxy';
import { NitroBaseTexture, NitroFilter } from '../../pixi-proxy';
const vertex = `
attribute vec2 aVertexPosition;
@ -66,7 +66,7 @@ export class PaletteMapFilter extends NitroFilter
{
const lut = [];
for(let i = 0; i < data.length; i++)
for (let i = 0; i < data.length; i++)
{
// R
lut[(i * 4) + PaletteMapFilter.CHANNEL_RED] = ((data[i] >> 16) & 0xFF);

View File

@ -1,4 +1,3 @@
export * from './AdvancedMap';
export * from './ArrayBufferToBase64';
export * from './NitroTimer';
export * from './proxy';

View File

@ -1,4 +1,5 @@
export * from './api';
export * from './core';
export * from './nitro';
export * from './pixi-proxy';
export * from './room';

View File

@ -4,9 +4,9 @@ import { ColorMatrixFilter } from '@pixi/filter-color-matrix';
import { Rectangle } from '@pixi/math';
import { Sprite } from '@pixi/sprite';
import { IGraphicAsset } from '../../api';
import { NitroContainer, NitroSprite } from '../../core';
import { AdvancedMap } from '../../core/utils/AdvancedMap';
import { PaletteMapFilter } from '../../core/utils/PaletteMapFilter';
import { NitroContainer, NitroSprite } from '../../pixi-proxy';
import { TextureUtils } from '../../room/utils/TextureUtils';
import { Nitro } from '../Nitro';
import { ActiveActionData } from './actions/ActiveActionData';

View File

@ -1,6 +1,6 @@
import { Texture } from '@pixi/core';
import { Matrix, Point, Rectangle } from '@pixi/math';
import { NitroContainer, NitroSprite } from '../../../core';
import { NitroContainer, NitroSprite } from '../../../pixi-proxy';
import { RoomObjectSpriteData } from '../../../room/data/RoomObjectSpriteData';
import { Nitro } from '../../Nitro';
import { IActiveActionData } from '../actions/IActiveActionData';
@ -52,7 +52,7 @@ export class AvatarImageCache
public dispose(): void
{
if(this._disposed) return;
if (this._disposed) return;
this._structure = null;
this._avatar = null;
@ -60,11 +60,11 @@ export class AvatarImageCache
this._canvas = null;
this._disposed = true;
if(this._cache)
if (this._cache)
{
for(const cache of this._cache.values())
for (const cache of this._cache.values())
{
if(!cache) continue;
if (!cache) continue;
cache.dispose();
}
@ -72,11 +72,11 @@ export class AvatarImageCache
this._cache = null;
}
if(this._unionImages)
if (this._unionImages)
{
for(const image of this._unionImages)
for (const image of this._unionImages)
{
if(!image) continue;
if (!image) continue;
image.dispose();
}
@ -89,11 +89,11 @@ export class AvatarImageCache
{
const time = Nitro.instance.time;
if(this._cache)
if (this._cache)
{
for(const cache of this._cache.values())
for (const cache of this._cache.values())
{
if(!cache) continue;
if (!cache) continue;
cache.disposeActions(k, time);
}
@ -102,11 +102,11 @@ export class AvatarImageCache
public resetBodyPartCache(k: IActiveActionData): void
{
if(this._cache)
if (this._cache)
{
for(const cache of this._cache.values())
for (const cache of this._cache.values())
{
if(!cache) continue;
if (!cache) continue;
cache.setAction(k, 0);
}
@ -117,13 +117,13 @@ export class AvatarImageCache
{
const parts = this._structure.getBodyPartsUnordered(k);
if(parts)
if (parts)
{
for(const part of parts)
for (const part of parts)
{
const actionCache = this.getBodyPartCache(part);
if(!actionCache) continue;
if (!actionCache) continue;
actionCache.setDirection(_arg_2);
}
@ -134,19 +134,19 @@ export class AvatarImageCache
{
const _local_3 = this._structure.getActiveBodyPartIds(k, this._avatar);
for(const _local_4 of _local_3)
for (const _local_4 of _local_3)
{
const _local_5 = this.getBodyPartCache(_local_4);
if(_local_5) _local_5.setAction(k, _arg_2);
if (_local_5) _local_5.setAction(k, _arg_2);
}
}
public setGeometryType(k: string): void
{
if(this._geometryType === k) return;
if (this._geometryType === k) return;
if((((this._geometryType === GeometryType.SITTING) && (k === GeometryType.VERTICAL)) || ((this._geometryType === GeometryType.VERTICAL) && (k === GeometryType.SITTING)) || ((this._geometryType === GeometryType.SNOWWARS_HORIZONTAL) && (k = GeometryType.SNOWWARS_HORIZONTAL))))
if ((((this._geometryType === GeometryType.SITTING) && (k === GeometryType.VERTICAL)) || ((this._geometryType === GeometryType.VERTICAL) && (k === GeometryType.SITTING)) || ((this._geometryType === GeometryType.SNOWWARS_HORIZONTAL) && (k = GeometryType.SNOWWARS_HORIZONTAL))))
{
this._geometryType = k;
this._canvas = null;
@ -164,7 +164,7 @@ export class AvatarImageCache
{
let _local_4 = this.getBodyPartCache(k);
if(!_local_4)
if (!_local_4)
{
_local_4 = new AvatarImageBodyPartCache();
@ -175,48 +175,48 @@ export class AvatarImageCache
let _local_7 = _local_4.getAction();
let frameCount = frameNumber;
if(_local_7.definition.startFromFrameZero) frameCount -= _local_7.startFrame;
if (_local_7.definition.startFromFrameZero) frameCount -= _local_7.startFrame;
let _local_8 = _local_7;
let _local_9: string[] = [];
let _local_10: Map<string, string> = new Map();
const _local_11 = new Point();
if(!((!(_local_7)) || (!(_local_7.definition))))
if (!((!(_local_7)) || (!(_local_7.definition))))
{
if(_local_7.definition.isAnimation)
if (_local_7.definition.isAnimation)
{
let _local_15 = _local_5;
const _local_16 = this._structure.getAnimation(((_local_7.definition.state + '.') + _local_7.actionParameter));
const _local_17 = (frameNumber - _local_7.startFrame);
if(_local_16)
if (_local_16)
{
const _local_18 = _local_16.getLayerData(_local_17, k, _local_7.overridingAction);
if(_local_18)
if (_local_18)
{
_local_15 = (_local_5 + _local_18.dd);
if(_local_18.dd < 0)
if (_local_18.dd < 0)
{
if(_local_15 < 0)
if (_local_15 < 0)
{
_local_15 = (8 + _local_15);
}
else if(_local_15 > 7) _local_15 = (8 - _local_15);
else if (_local_15 > 7) _local_15 = (8 - _local_15);
}
else
{
if(_local_15 < 0)
if (_local_15 < 0)
{
_local_15 = (_local_15 + 8);
}
else if(_local_15 > 7) _local_15 = (_local_15 - 8);
else if (_local_15 > 7) _local_15 = (_local_15 - 8);
}
if(this._scale === AvatarScaleType.LARGE)
if (this._scale === AvatarScaleType.LARGE)
{
_local_11.x = _local_18.dx;
_local_11.y = _local_18.dy;
@ -229,21 +229,21 @@ export class AvatarImageCache
frameCount = _local_18.animationFrame;
if(_local_18.action)
if (_local_18.action)
{
_local_7 = _local_18.action;
}
if(_local_18.type === AvatarAnimationLayerData.BODYPART)
if (_local_18.type === AvatarAnimationLayerData.BODYPART)
{
if(_local_18.action != null)
if (_local_18.action != null)
{
_local_8 = _local_18.action;
}
_local_5 = _local_15;
}
else if(_local_18.type === AvatarAnimationLayerData.FX) _local_5 = _local_15;
else if (_local_18.type === AvatarAnimationLayerData.FX) _local_5 = _local_15;
_local_10 = _local_18.items;
}
@ -255,7 +255,7 @@ export class AvatarImageCache
let _local_12 = _local_4.getActionCache(_local_8);
if(!_local_12 || _arg_3)
if (!_local_12 || _arg_3)
{
_local_12 = new AvatarImageActionCache();
_local_4.updateActionCache(_local_8, _local_12);
@ -263,7 +263,7 @@ export class AvatarImageCache
let _local_13 = _local_12.getDirectionCache(_local_5);
if(!_local_13 || _arg_3)
if (!_local_13 || _arg_3)
{
const _local_19 = this._structure.getParts(k, this._avatar.getFigure(), _local_8, this._geometryType, _local_5, _local_9, this._avatar, _local_10);
@ -274,15 +274,15 @@ export class AvatarImageCache
let _local_14 = _local_13.getImageContainer(frameCount);
if(!_local_14 || _arg_3)
if (!_local_14 || _arg_3)
{
const _local_20 = _local_13.getPartList();
_local_14 = this.renderBodyPart(_local_5, _local_20, frameCount, _local_7, _arg_3);
if(_local_14 && !_arg_3)
if (_local_14 && !_arg_3)
{
if(_local_14.isCacheable) _local_13.updateImageContainer(_local_14, frameCount);
if (_local_14.isCacheable) _local_13.updateImageContainer(_local_14, frameCount);
}
else
{
@ -311,7 +311,7 @@ export class AvatarImageCache
{
let existing = this._cache.get(k);
if(!existing)
if (!existing)
{
existing = new AvatarImageBodyPartCache();
@ -323,13 +323,13 @@ export class AvatarImageCache
private renderBodyPart(direction: number, containers: AvatarImagePartContainer[], frameCount: number, _arg_4: IActiveActionData, renderServerData: boolean = false): AvatarImageBodyPartContainer
{
if(!containers || !containers.length) return null;
if (!containers || !containers.length) return null;
if(!this._canvas)
if (!this._canvas)
{
this._canvas = this._structure.getCanvas(this._scale, this._geometryType);
if(!this._canvas) return null;
if (!this._canvas) return null;
}
const isFlipped = AvatarDirectionAngle.DIRECTION_IS_FLIPPED[direction] || false;
@ -337,15 +337,15 @@ export class AvatarImageCache
let isCacheable = true;
let containerIndex = (containers.length - 1);
while(containerIndex >= 0)
while (containerIndex >= 0)
{
const container = containers[containerIndex];
let color = 16777215;
if(!((direction == 7) && ((container.partType === 'fc') || (container.partType === 'ey'))))
if (!((direction == 7) && ((container.partType === 'fc') || (container.partType === 'ey'))))
{
if(!((container.partType === 'ri') && !container.partId))
if (!((container.partType === 'ri') && !container.partId))
{
const partId = container.partId;
const animationFrame = container.getFrameDefinition(frameCount);
@ -353,59 +353,59 @@ export class AvatarImageCache
let partType = container.partType;
let frameNumber = 0;
if(animationFrame)
if (animationFrame)
{
frameNumber = animationFrame.number;
if((animationFrame.assetPartDefinition) && (animationFrame.assetPartDefinition !== '')) assetPartDefinition = animationFrame.assetPartDefinition;
if ((animationFrame.assetPartDefinition) && (animationFrame.assetPartDefinition !== '')) assetPartDefinition = animationFrame.assetPartDefinition;
}
else frameNumber = container.getFrameIndex(frameCount);
let assetDirection = direction;
let flipH = false;
if(isFlipped)
if (isFlipped)
{
if(((assetPartDefinition === 'wav') && (((partType === AvatarFigurePartType.LEFT_HAND) || (partType === AvatarFigurePartType.LEFT_SLEEVE)) || (partType === AvatarFigurePartType.LEFT_COAT_SLEEVE))) || ((assetPartDefinition === 'drk') && (((partType === AvatarFigurePartType.RIGHT_HAND) || (partType === AvatarFigurePartType.RIGHT_SLEEVE)) || (partType === AvatarFigurePartType.RIGHT_COAT_SLEEVE))) || ((assetPartDefinition === 'blw') && (partType === AvatarFigurePartType.RIGHT_HAND)) || ((assetPartDefinition === 'sig') && (partType === AvatarFigurePartType.LEFT_HAND)) || ((assetPartDefinition === 'respect') && (partType === AvatarFigurePartType.LEFT_HAND)) || (partType === AvatarFigurePartType.RIGHT_HAND_ITEM) || (partType === AvatarFigurePartType.LEFT_HAND_ITEM) || (partType === AvatarFigurePartType.CHEST_PRINT))
if (((assetPartDefinition === 'wav') && (((partType === AvatarFigurePartType.LEFT_HAND) || (partType === AvatarFigurePartType.LEFT_SLEEVE)) || (partType === AvatarFigurePartType.LEFT_COAT_SLEEVE))) || ((assetPartDefinition === 'drk') && (((partType === AvatarFigurePartType.RIGHT_HAND) || (partType === AvatarFigurePartType.RIGHT_SLEEVE)) || (partType === AvatarFigurePartType.RIGHT_COAT_SLEEVE))) || ((assetPartDefinition === 'blw') && (partType === AvatarFigurePartType.RIGHT_HAND)) || ((assetPartDefinition === 'sig') && (partType === AvatarFigurePartType.LEFT_HAND)) || ((assetPartDefinition === 'respect') && (partType === AvatarFigurePartType.LEFT_HAND)) || (partType === AvatarFigurePartType.RIGHT_HAND_ITEM) || (partType === AvatarFigurePartType.LEFT_HAND_ITEM) || (partType === AvatarFigurePartType.CHEST_PRINT))
{
flipH = true;
}
else
{
if(direction === 4) assetDirection = 2;
else if(direction === 5) assetDirection = 1;
else if(direction === 6) assetDirection = 0;
if (direction === 4) assetDirection = 2;
else if (direction === 5) assetDirection = 1;
else if (direction === 6) assetDirection = 0;
if(container.flippedPartType !== partType) partType = container.flippedPartType;
if (container.flippedPartType !== partType) partType = container.flippedPartType;
}
}
let assetName = (this._scale + '_' + assetPartDefinition + '_' + partType + '_' + partId + '_' + assetDirection + '_' + frameNumber);
let asset = this._assets.getAsset(assetName);
if(!asset)
if (!asset)
{
assetName = (this._scale + '_std_' + partType + '_' + partId + '_' + assetDirection + '_0');
asset = this._assets.getAsset(assetName);
}
if(asset)
if (asset)
{
const texture = asset.texture;
if(!texture || !texture.valid || !texture.baseTexture)
if (!texture || !texture.valid || !texture.baseTexture)
{
isCacheable = false;
}
else
{
if(container.isColorable && container.color) color = container.color.rgb;
if (container.isColorable && container.color) color = container.color.rgb;
const offset = new Point(-(asset.x), -(asset.y));
if(flipH) offset.x = (offset.x + ((this._scale === AvatarScaleType.LARGE) ? 65 : 31));
if (flipH) offset.x = (offset.x + ((this._scale === AvatarScaleType.LARGE) ? 65 : 31));
if(renderServerData)
if (renderServerData)
{
const spriteData = new RoomObjectSpriteData();
@ -417,17 +417,17 @@ export class AvatarImageCache
spriteData.height = asset.rectangle.height;
spriteData.flipH = flipH;
if(assetPartDefinition === 'lay') spriteData.x = (spriteData.x + 53);
if (assetPartDefinition === 'lay') spriteData.x = (spriteData.x + 53);
if(isFlipped)
if (isFlipped)
{
spriteData.flipH = (!(spriteData.flipH));
if(spriteData.flipH) spriteData.x = (-(spriteData.x) - texture.width);
if (spriteData.flipH) spriteData.x = (-(spriteData.x) - texture.width);
else spriteData.x = (spriteData.x + 65);
}
if(container.isColorable) spriteData.color = `${ color }`;
if (container.isColorable) spriteData.color = `${color}`;
this._serverRenderData.push(spriteData);
}
@ -441,21 +441,21 @@ export class AvatarImageCache
containerIndex--;
}
if(!this._unionImages.length) return null;
if (!this._unionImages.length) return null;
const imageData = this.createUnionImage(this._unionImages, isFlipped);
const canvasOffset = ((this._scale === AvatarScaleType.LARGE) ? (this._canvas.height - 16) : (this._canvas.height - 8));
const offset = new Point(-(imageData.regPoint.x), (canvasOffset - imageData.regPoint.y));
if(isFlipped && (assetPartDefinition !== 'lay')) offset.x = (offset.x + ((this._scale === AvatarScaleType.LARGE) ? 67 : 31));
if (isFlipped && (assetPartDefinition !== 'lay')) offset.x = (offset.x + ((this._scale === AvatarScaleType.LARGE) ? 67 : 31));
let imageIndex = (this._unionImages.length - 1);
while(imageIndex >= 0)
while (imageIndex >= 0)
{
const _local_17 = this._unionImages.pop();
if(_local_17) _local_17.dispose();
if (_local_17) _local_17.dispose();
imageIndex--;
}
@ -466,7 +466,7 @@ export class AvatarImageCache
private convertColorToHex(k: number): string
{
let _local_2: string = (k * 0xFF).toString(16);
if(_local_2.length < 2)
if (_local_2.length < 2)
{
_local_2 = ('0' + _local_2);
}
@ -477,7 +477,7 @@ export class AvatarImageCache
{
const bounds = new Rectangle();
for(const data of k) data && bounds.enlarge(data.offsetRect);
for (const data of k) data && bounds.enlarge(data.offsetRect);
const point = new Point(-(bounds.x), -(bounds.y));
const container = new NitroContainer();
@ -489,9 +489,9 @@ export class AvatarImageCache
container.addChild(sprite);
for(const data of k)
for (const data of k)
{
if(!data) continue;
if (!data) continue;
const texture = data.texture;
const color = data.colorTransform;
@ -501,9 +501,9 @@ export class AvatarImageCache
regPoint.x -= data.regPoint.x;
regPoint.y -= data.regPoint.y;
if(isFlipped) regPoint.x = (container.width - (regPoint.x + data.rect.width));
if (isFlipped) regPoint.x = (container.width - (regPoint.x + data.rect.width));
if(flipH)
if (flipH)
{
this._matrix.a = -1;
this._matrix.tx = ((data.rect.x + data.rect.width) + regPoint.x);

View File

@ -1,7 +1,8 @@
import { Texture } from '@pixi/core';
import { ColorMatrix, ColorMatrixFilter } from '@pixi/filter-color-matrix';
import { IEventDispatcher } from '../../api';
import { EventDispatcher, NitroContainer, NitroSprite } from '../../core';
import { EventDispatcher } from '../../core';
import { NitroContainer, NitroSprite } from '../../pixi-proxy';
import { TextureUtils } from '../../room';
import { Nitro } from '../Nitro';
import { RoomCameraWidgetManagerEvent } from './events/RoomCameraWidgetManagerEvent';

View File

@ -2,9 +2,9 @@ import { RenderTexture, Resource, Texture } from '@pixi/core';
import { Container, DisplayObject } from '@pixi/display';
import { Matrix, Point, Rectangle } from '@pixi/math';
import { IConnection, IDisposable, IMessageComposer, IUpdateReceiver } from '../../api';
import { NitroSprite } from '../../core';
import { NitroManager } from '../../core/common/NitroManager';
import { NitroEvent } from '../../core/events/NitroEvent';
import { NitroSprite } from '../../pixi-proxy';
import { TextureUtils } from '../../room';
import { RoomObjectEvent } from '../../room/events/RoomObjectEvent';
import { RoomObjectMouseEvent } from '../../room/events/RoomObjectMouseEvent';

View File

@ -1,7 +1,7 @@
import { RenderTexture, Resource, Texture } from '@pixi/core';
import { Matrix } from '@pixi/math';
import { IGraphicAsset } from '../../../../../api';
import { NitroSprite } from '../../../../../core/utils/proxy/NitroSprite';
import { NitroSprite } from '../../../../../pixi-proxy';
import { Nitro } from '../../../../Nitro';
import { FurnitureBBVisualization } from './FurnitureBBVisualization';
import { FurnitureBrandedImageVisualization } from './FurnitureBrandedImageVisualization';

View File

@ -3,7 +3,8 @@ import { AlphaFilter } from '@pixi/filter-alpha';
import { Graphics } from '@pixi/graphics';
import { Matrix } from '@pixi/math';
import { IGraphicAsset, IParticleSystem } from '../../../../../api';
import { AdvancedMap, NitroPoint, NitroSprite } from '../../../../../core';
import { AdvancedMap } from '../../../../../core';
import { NitroPoint, NitroSprite } from '../../../../../pixi-proxy';
import { IRoomObjectSprite } from '../../../../../room';
import { Vector3D } from '../../../../avatar';
import { Nitro } from '../../../../Nitro';

View File

@ -1,4 +1,4 @@
import { NitroPoint } from '../../../../../core';
import { NitroPoint } from '../../../../../pixi-proxy';
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';
export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualization
@ -24,15 +24,15 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
protected updateAnimation(scale: number): number
{
if(!this._animSpeedIndex) this.initItems(scale);
if (!this._animSpeedIndex) this.initItems(scale);
let sprite = this.getSprite(2);
if(sprite) this._animOffsetIndex[0] = this.getNewPoint(scale, 0);
if (sprite) this._animOffsetIndex[0] = this.getNewPoint(scale, 0);
sprite = this.getSprite(3);
if(sprite) this._animOffsetIndex[1] = this.getNewPoint(scale, 1);
if (sprite) this._animOffsetIndex[1] = this.getNewPoint(scale, 1);
return super.updateAnimation(scale);
}
@ -49,7 +49,7 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
let _local_7 = 1;
if(scale == 32)
if (scale == 32)
{
diameter = FurniturePartyBeamerVisualization.AREA_DIAMETER_SMALL;
_local_7 = 0.5;
@ -61,9 +61,9 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
const _local_9: number = (animationPhase + (animationDirection * animationSpeed));
if(Math.abs(_local_9) >= diameter)
if (Math.abs(_local_9) >= diameter)
{
if(animationDirection > 0)
if (animationDirection > 0)
{
animationPhase = (animationPhase - (_local_9 - diameter));
}
@ -81,7 +81,7 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
let _local_11: number = ((animationDirection * Math.sin(Math.abs((animationPhase / 4)))) * _local_10);
if(animationDirection > 0)
if (animationDirection > 0)
{
_local_11 = (_local_11 - _local_10);
}
@ -94,16 +94,16 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
this._animPhaseIndex[layerId] = animationPhase;
if(Math.trunc(_local_11) == 0) this._animFactorIndex[layerId] = this.getRandomAmplitudeFactor();
if (Math.trunc(_local_11) == 0) this._animFactorIndex[layerId] = this.getRandomAmplitudeFactor();
return new NitroPoint(animationPhase, _local_11);
}
private initItems(scale: number):void
private initItems(scale: number): void
{
let diameter: number;
if(scale === 32)
if (scale === 32)
{
diameter = FurniturePartyBeamerVisualization.AREA_DIAMETER_SMALL;
}
@ -131,9 +131,9 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
protected getLayerXOffset(scale: number, direction: number, layerId: number): number
{
if((layerId === 2) || (layerId === 3))
if ((layerId === 2) || (layerId === 3))
{
if(this._animOffsetIndex.length == 2)
if (this._animOffsetIndex.length == 2)
{
return this._animOffsetIndex[(layerId - 2)].x;
}
@ -143,9 +143,9 @@ export class FurniturePartyBeamerVisualization extends FurnitureAnimatedVisualiz
protected getLayerYOffset(scale: number, direction: number, layerId: number): number
{
if((layerId === 2) || (layerId === 3))
if ((layerId === 2) || (layerId === 3))
{
if(this._animOffsetIndex.length == 2)
if (this._animOffsetIndex.length == 2)
{
return this._animOffsetIndex[(layerId - 2)].y;
}

View File

@ -1,7 +1,7 @@
import { Resource, Texture } from '@pixi/core';
import { Matrix } from '@pixi/math';
import { IGraphicAsset } from '../../../../../api';
import { NitroSprite, NitroTexture } from '../../../../../core';
import { NitroSprite, NitroTexture } from '../../../../../pixi-proxy';
import { TextureUtils } from '../../../../../room/utils/TextureUtils';
import { FurnitureAnimatedVisualization } from './FurnitureAnimatedVisualization';

View File

@ -1,7 +1,7 @@
import { RenderTexture, Resource, Texture } from '@pixi/core';
import { Sprite } from '@pixi/sprite';
import { Text } from '@pixi/text';
import { NitroContainer, NitroSprite } from '../../../../../core';
import { NitroContainer, NitroSprite } from '../../../../../pixi-proxy';
import { TextureUtils } from '../../../../../room';
import { Nitro } from '../../../../Nitro';
@ -22,7 +22,7 @@ export class ExperienceData
public renderBubble(amount: number): RenderTexture
{
if(!this._sprite || (this._amount === amount)) return null;
if (!this._sprite || (this._amount === amount)) return null;
const container = new NitroContainer();
@ -42,7 +42,7 @@ export class ExperienceData
container.addChild(text);
if(!this._texture)
if (!this._texture)
{
this._texture = TextureUtils.generateTexture(container);
}

View File

@ -1,7 +1,7 @@
import { RenderTexture, Resource, Texture } from '@pixi/core';
import { Graphics } from '@pixi/graphics';
import { Matrix, Point, Rectangle } from '@pixi/math';
import { NitroRenderTexture } from '../../../../../core';
import { NitroRenderTexture } from '../../../../../pixi-proxy';
import { IRoomPlane } from '../../../../../room/object/visualization/IRoomPlane';
import { IRoomGeometry } from '../../../../../room/utils/IRoomGeometry';
import { IVector3D } from '../../../../../room/utils/IVector3D';
@ -60,15 +60,15 @@ export class RoomPlane implements IRoomPlane
private _maskBitmapData: Graphics;
private _bitmapMasksOld: RoomPlaneBitmapMask[];
private _rectangleMasksOld: RoomPlaneRectangleMask[];
private _cornerA:Vector3d;
private _cornerB:Vector3d;
private _cornerC:Vector3d;
private _cornerD:Vector3d;
private _cornerA: Vector3d;
private _cornerB: Vector3d;
private _cornerC: Vector3d;
private _cornerD: Vector3d;
private _width: number = 0;
private _height: number = 0;
private _canBeVisible: boolean;
constructor(origin: IVector3D, location: IVector3D, leftSide: IVector3D, rightSide: IVector3D, type: number, usesMask: boolean, secondaryNormals: IVector3D[], randomSeed: number, textureOffsetX: number=0, textureOffsetY: number=0, textureMaxX: number=0, textureMaxY: number=0)
constructor(origin: IVector3D, location: IVector3D, leftSide: IVector3D, rightSide: IVector3D, type: number, usesMask: boolean, secondaryNormals: IVector3D[], randomSeed: number, textureOffsetX: number = 0, textureOffsetY: number = 0, textureMaxX: number = 0, textureMaxY: number = 0)
{
this._secondaryNormals = [];
this._bitmapMasks = [];
@ -90,16 +90,16 @@ export class RoomPlane implements IRoomPlane
this._rightSide.assign(rightSide);
this._normal = Vector3d.crossProduct(this._leftSide, this._rightSide);
if(this._normal.length > 0)
if (this._normal.length > 0)
{
this._normal.multiply((1 / this._normal.length));
}
if(secondaryNormals != null)
if (secondaryNormals != null)
{
for(const entry of secondaryNormals)
for (const entry of secondaryNormals)
{
if(!entry) continue;
if (!entry) continue;
const vector = new Vector3d();
@ -142,9 +142,9 @@ export class RoomPlane implements IRoomPlane
public set canBeVisible(k: boolean)
{
if(k !== this._canBeVisible)
if (k !== this._canBeVisible)
{
if(!this._canBeVisible) this.resetTextureCache();
if (!this._canBeVisible) this.resetTextureCache();
this._canBeVisible = k;
}
@ -157,11 +157,11 @@ export class RoomPlane implements IRoomPlane
public get bitmapData(): Texture<Resource>
{
if(!this.visible || !this._bitmapData) return null;
if (!this.visible || !this._bitmapData) return null;
let texture: RenderTexture = RoomVisualization.getTextureCache(this._bitmapData);
if(!texture)
if (!texture)
{
texture = TextureUtils.generateTexture(this._bitmapData, new Rectangle(0, 0, this._width, this._height));
@ -231,7 +231,7 @@ export class RoomPlane implements IRoomPlane
this._hasTexture = k;
}
public set rasterizer(k:IPlaneRasterizer)
public set rasterizer(k: IPlaneRasterizer)
{
this._rasterizer = k;
}
@ -243,7 +243,7 @@ export class RoomPlane implements IRoomPlane
public set id(k: string)
{
if(k === this._id) return;
if (k === this._id) return;
this.resetTextureCache();
this._id = k;
@ -256,20 +256,20 @@ export class RoomPlane implements IRoomPlane
public dispose(): void
{
if(this._bitmapData)
if (this._bitmapData)
{
this._bitmapData.destroy();
this._bitmapData = null;
}
if(this._textures)
if (this._textures)
{
for(const bitmap of this._textures.values())
for (const bitmap of this._textures.values())
{
if(!bitmap) continue;
if (!bitmap) continue;
if(bitmap.bitmap) bitmap.bitmap.destroy();
if (bitmap.bitmap) bitmap.bitmap.destroy();
bitmap.dispose();
}
@ -291,7 +291,7 @@ export class RoomPlane implements IRoomPlane
this._bitmapMasks = null;
this._rectangleMasks = null;
if(this._maskBitmapData)
if (this._maskBitmapData)
{
this._maskBitmapData.destroy();
@ -303,9 +303,9 @@ export class RoomPlane implements IRoomPlane
public copyBitmapData(k: Texture<Resource>): Texture<Resource>
{
if(!this.visible || !this._bitmapData || !k) return null;
if (!this.visible || !this._bitmapData || !k) return null;
if((this._bitmapData.width !== k.width) || (this._bitmapData.height !== k.height)) return null;
if ((this._bitmapData.width !== k.width) || (this._bitmapData.height !== k.height)) return null;
//k.copyPixels(this._bitmapData, this._bitmapData.rect, RoomPlane.ZERO_POINT);
return k;
@ -315,7 +315,7 @@ export class RoomPlane implements IRoomPlane
{
const existing = this._textures.get(k);
if(existing)
if (existing)
{
this._textures.delete(k);
@ -330,11 +330,11 @@ export class RoomPlane implements IRoomPlane
private resetTextureCache(k: Graphics = null): void
{
if(this._textures && this._textures.size)
if (this._textures && this._textures.size)
{
for(const bitmap of this._textures.values())
for (const bitmap of this._textures.values())
{
if(!bitmap) continue;
if (!bitmap) continue;
bitmap.dispose();
}
@ -347,43 +347,43 @@ export class RoomPlane implements IRoomPlane
private getTextureIdentifier(k: number): string
{
if(this._rasterizer) return this._rasterizer.getTextureIdentifier(k, this.normal);
if (this._rasterizer) return this._rasterizer.getTextureIdentifier(k, this.normal);
return k.toString();
}
private needsNewTexture(k: IRoomGeometry, _arg_2: number): boolean
{
if(!k) return false;
if (!k) return false;
let planeBitmap = this._activeTexture;
if(!planeBitmap)
if (!planeBitmap)
{
planeBitmap = this._textures.get(this.getTextureIdentifier(k.scale));
}
this.updateMaskChangeStatus();
if(this._canBeVisible && ((!planeBitmap || ((planeBitmap.timeStamp >= 0) && (_arg_2 > planeBitmap.timeStamp))) || this._maskChanged)) return true;
if (this._canBeVisible && ((!planeBitmap || ((planeBitmap.timeStamp >= 0) && (_arg_2 > planeBitmap.timeStamp))) || this._maskChanged)) return true;
return false;
}
private getTexture(k: IRoomGeometry, _arg_2: number): Graphics
{
if(!k) return null;
if (!k) return null;
let _local_3: PlaneBitmapData = null;
if(this.needsNewTexture(k, _arg_2))
if (this.needsNewTexture(k, _arg_2))
{
const _local_4 = this.getTextureIdentifier(k.scale);
const _local_5 = (this._leftSide.length * k.scale);
const _local_6 = (this._rightSide.length * k.scale);
const _local_7 = k.getCoordinatePosition(this._normal);
if(this._activeTexture)
if (this._activeTexture)
{
_local_3 = this._activeTexture;
}
@ -394,15 +394,15 @@ export class RoomPlane implements IRoomPlane
let _local_8: Graphics = null;
if(_local_3) _local_8 = _local_3.bitmap;
if (_local_3) _local_8 = _local_3.bitmap;
if(this._rasterizer)
if (this._rasterizer)
{
_local_3 = this._rasterizer.render(_local_8, this._id, _local_5, _local_6, k.scale, _local_7, this._hasTexture, this._textureOffsetX, this._textureOffsetY, this._textureMaxX, this._textureMaxY, _arg_2);
if(_local_3)
if (_local_3)
{
if(_local_8 && (_local_3.bitmap !== _local_8)) _local_8.destroy();
if (_local_8 && (_local_3.bitmap !== _local_8)) _local_8.destroy();
}
}
else
@ -416,7 +416,7 @@ export class RoomPlane implements IRoomPlane
_local_3 = new PlaneBitmapData(_local_9, -1);
}
if(_local_3)
if (_local_3)
{
this.updateMask(_local_3.bitmap, k);
this.cacheTexture(_local_4, _local_3);
@ -424,7 +424,7 @@ export class RoomPlane implements IRoomPlane
}
else
{
if(this._activeTexture)
if (this._activeTexture)
{
_local_3 = this._activeTexture;
}
@ -434,7 +434,7 @@ export class RoomPlane implements IRoomPlane
}
}
if(_local_3)
if (_local_3)
{
this._activeTexture = _local_3;
@ -446,30 +446,30 @@ export class RoomPlane implements IRoomPlane
private resolveMasks(k: IRoomGeometry): PlaneDrawingData
{
if(!this._useMask) return null;
if (!this._useMask) return null;
const _local_5 = new PlaneDrawingData();
const index = 0;
while(index < this._bitmapMasks.length)
while (index < this._bitmapMasks.length)
{
const mask = this._bitmapMasks[index];
if(mask)
if (mask)
{
const planeMask = this._maskManager.getMask(mask.type);
if(planeMask)
if (planeMask)
{
const assetName = planeMask.getAssetName(k.scale);
if(assetName)
if (assetName)
{
const position = k.getCoordinatePosition(this._normal);
const asset = planeMask.getGraphicAsset(k.scale, position);
if(asset)
if (asset)
{
const _local_3 = (this._maskBitmapData.width * (1 - (mask.leftSideLoc / this._leftSide.length)));
const _local_4 = (this._maskBitmapData.height * (1 - (mask.rightSideLoc / this._rightSide.length)));
@ -493,24 +493,24 @@ export class RoomPlane implements IRoomPlane
return Math.round((this._leftSide.length * Math.abs((_local_2.x - _local_3.x))));
}
public getDrawingDatas(geometry:IRoomGeometry): PlaneDrawingData[]
public getDrawingDatas(geometry: IRoomGeometry): PlaneDrawingData[]
{
const drawingDatas: PlaneDrawingData[] = [];
if(this._isVisible)
if (this._isVisible)
{
const maskData = this.resolveMasks(geometry);
const layers = this._rasterizer.getLayers(this._id);
let i = 0;
while(i < layers.length)
while (i < layers.length)
{
const layer = (layers[i] as PlaneVisualizationLayer);
if(layer)
if (layer)
{
if(this._hasTexture && layer.getMaterial())
if (this._hasTexture && layer.getMaterial())
{
const normal = geometry.getCoordinatePosition(this._normal);
const cm = layer.getMaterial().getMaterialCellMatrix(normal);
@ -519,26 +519,26 @@ export class RoomPlane implements IRoomPlane
Randomizer.setSeed(this._randomSeed);
for(const column of cm.getColumns(this.screenWidth(geometry)))
for (const column of cm.getColumns(this.screenWidth(geometry)))
{
const assetNames: string[] = [];
for(const cell of column.getCells())
for (const cell of column.getCells())
{
const name = cell.getAssetName(normal);
if(name) assetNames.push(name);
if (name) assetNames.push(name);
}
if(assetNames.length > 0)
if (assetNames.length > 0)
{
if(!column.isRepeated()) assetNames.push('');
if (!column.isRepeated()) assetNames.push('');
data.addAssetColumn(assetNames);
}
}
if(data.assetNameColumns.length > 0) drawingDatas.push(data);
if (data.assetNameColumns.length > 0) drawingDatas.push(data);
}
else
{
@ -552,7 +552,7 @@ export class RoomPlane implements IRoomPlane
i++;
}
if(!drawingDatas.length) drawingDatas.push(new PlaneDrawingData(maskData, this._color));
if (!drawingDatas.length) drawingDatas.push(new PlaneDrawingData(maskData, this._color));
}
return drawingDatas;
@ -564,18 +564,18 @@ export class RoomPlane implements IRoomPlane
public update(geometry: IRoomGeometry, timeSinceStartMs: number): boolean
{
if(!geometry || this._disposed) return false;
if (!geometry || this._disposed) return false;
let geometryChanged = false;
if(this._geometryUpdateId != geometry.updateId) geometryChanged = true;
if (this._geometryUpdateId != geometry.updateId) geometryChanged = true;
if(!geometryChanged || !this._canBeVisible)
if (!geometryChanged || !this._canBeVisible)
{
if(!this.visible) return false;
if (!this.visible) return false;
}
if(geometryChanged)
if (geometryChanged)
{
this._activeTexture = null;
@ -583,9 +583,9 @@ export class RoomPlane implements IRoomPlane
cosAngle = Vector3d.cosAngle(geometry.directionAxis, this.normal);
if(cosAngle > -0.001)
if (cosAngle > -0.001)
{
if(this._isVisible)
if (this._isVisible)
{
this._isVisible = false;
return true;
@ -596,13 +596,13 @@ export class RoomPlane implements IRoomPlane
let i = 0;
while(i < this._secondaryNormals.length)
while (i < this._secondaryNormals.length)
{
cosAngle = Vector3d.cosAngle(geometry.directionAxis, this._secondaryNormals[i]);
if(cosAngle > -0.001)
if (cosAngle > -0.001)
{
if(this._isVisible)
if (this._isVisible)
{
this._isVisible = false;
return true;
@ -621,12 +621,12 @@ export class RoomPlane implements IRoomPlane
let relativeDepth = (Math.max(this._cornerA.z, this._cornerB.z, this._cornerC.z, this._cornerD.z) - originZ);
if(this._type === RoomPlane.TYPE_FLOOR)
if (this._type === RoomPlane.TYPE_FLOOR)
{
relativeDepth = (relativeDepth - ((this._location.z + Math.min(0, this._leftSide.z, this._rightSide.z)) * 8));
}
if(this._type === RoomPlane.TYPE_LANDSCAPE)
if (this._type === RoomPlane.TYPE_LANDSCAPE)
{
relativeDepth = (relativeDepth + 0.02);
}
@ -636,21 +636,21 @@ export class RoomPlane implements IRoomPlane
this._geometryUpdateId = geometry.updateId;
}
if(geometryChanged || this.needsNewTexture(geometry, timeSinceStartMs))
if (geometryChanged || this.needsNewTexture(geometry, timeSinceStartMs))
{
if(!this._bitmapData || (this._width !== this._bitmapData.width) || (this._height !== this._bitmapData.height))
if (!this._bitmapData || (this._width !== this._bitmapData.width) || (this._height !== this._bitmapData.height))
{
if(this._bitmapData)
if (this._bitmapData)
{
this._bitmapData.destroy();
this._bitmapData = null;
if((this._width < 1) || (this._height < 1)) return true;
if ((this._width < 1) || (this._height < 1)) return true;
}
else
{
if((this._width < 1) || (this._height < 1)) return false;
if ((this._width < 1) || (this._height < 1)) return false;
}
const graphic = new Graphics();
@ -661,7 +661,7 @@ export class RoomPlane implements IRoomPlane
this._bitmapData = graphic;
if(!this._bitmapData) return false;
if (!this._bitmapData) return false;
}
else
{
@ -673,7 +673,7 @@ export class RoomPlane implements IRoomPlane
const texture = this.getTexture(geometry, timeSinceStartMs);
if(texture)
if (texture)
{
this.renderTexture(geometry, texture);
}
@ -729,7 +729,7 @@ export class RoomPlane implements IRoomPlane
private renderTexture(k: IRoomGeometry, _arg_2: Graphics): void
{
if(((((((this._cornerA == null) || (this._cornerB == null)) || (this._cornerC == null)) || (this._cornerD == null)) || (_arg_2 == null)) || (this._bitmapData == null)))
if (((((((this._cornerA == null) || (this._cornerB == null)) || (this._cornerC == null)) || (this._cornerD == null)) || (_arg_2 == null)) || (this._bitmapData == null)))
{
return;
}
@ -737,21 +737,21 @@ export class RoomPlane implements IRoomPlane
let _local_4: number = (this._cornerD.y - this._cornerC.y);
let _local_5: number = (this._cornerB.x - this._cornerC.x);
let _local_6: number = (this._cornerB.y - this._cornerC.y);
if(((this._type == RoomPlane.TYPE_WALL) || (this._type == RoomPlane.TYPE_LANDSCAPE)))
if (((this._type == RoomPlane.TYPE_WALL) || (this._type == RoomPlane.TYPE_LANDSCAPE)))
{
if(Math.abs((_local_5 - _arg_2.width)) <= 1)
if (Math.abs((_local_5 - _arg_2.width)) <= 1)
{
_local_5 = _arg_2.width;
}
if(Math.abs((_local_6 - _arg_2.width)) <= 1)
if (Math.abs((_local_6 - _arg_2.width)) <= 1)
{
_local_6 = _arg_2.width;
}
if(Math.abs((_local_3 - _arg_2.height)) <= 1)
if (Math.abs((_local_3 - _arg_2.height)) <= 1)
{
_local_3 = _arg_2.height;
}
if(Math.abs((_local_4 - _arg_2.height)) <= 1)
if (Math.abs((_local_4 - _arg_2.height)) <= 1)
{
_local_4 = _arg_2.height;
}
@ -781,7 +781,7 @@ export class RoomPlane implements IRoomPlane
public resetBitmapMasks(): void
{
if(this._disposed || !this._useMask || !this._bitmapMasks.length) return;
if (this._disposed || !this._useMask || !this._bitmapMasks.length) return;
this._maskChanged = true;
this._bitmapMasks = [];
@ -789,17 +789,17 @@ export class RoomPlane implements IRoomPlane
public addBitmapMask(k: string, _arg_2: number, _arg_3: number): boolean
{
if(!this._useMask) return false;
if (!this._useMask) return false;
let _local_5 = 0;
while(_local_5 < this._bitmapMasks.length)
while (_local_5 < this._bitmapMasks.length)
{
const mask = this._bitmapMasks[_local_5];
if(mask)
if (mask)
{
if((((mask.type === k) && (mask.leftSideLoc === _arg_2)) && (mask.rightSideLoc === _arg_3))) return false;
if ((((mask.type === k) && (mask.leftSideLoc === _arg_2)) && (mask.rightSideLoc === _arg_3))) return false;
}
_local_5++;
@ -815,7 +815,7 @@ export class RoomPlane implements IRoomPlane
public resetRectangleMasks(): void
{
if(!this._useMask || !this._rectangleMasks.length) return;
if (!this._useMask || !this._rectangleMasks.length) return;
this._maskChanged = true;
this._rectangleMasks = [];
@ -823,13 +823,13 @@ export class RoomPlane implements IRoomPlane
public addRectangleMask(k: number, _arg_2: number, _arg_3: number, _arg_4: number): boolean
{
if(this._useMask)
if (this._useMask)
{
for(const mask of this._rectangleMasks)
for (const mask of this._rectangleMasks)
{
if(!mask) continue;
if (!mask) continue;
if((((mask.leftSideLoc === k) && (mask.rightSideLoc === _arg_2)) && (mask.leftSideLength === _arg_3)) && (mask.rightSideLength === _arg_4)) return false;
if ((((mask.leftSideLoc === k) && (mask.rightSideLoc === _arg_2)) && (mask.leftSideLength === _arg_3)) && (mask.rightSideLength === _arg_4)) return false;
}
const _local_5 = new RoomPlaneRectangleMask(k, _arg_2, _arg_3, _arg_4);
@ -845,24 +845,24 @@ export class RoomPlane implements IRoomPlane
private updateMaskChangeStatus(): void
{
if(!this._maskChanged) return;
if (!this._maskChanged) return;
let _local_3 = true;
let _local_6: boolean;
if(this._bitmapMasks.length === this._bitmapMasksOld.length)
if (this._bitmapMasks.length === this._bitmapMasksOld.length)
{
for(const mask of this._bitmapMasks)
for (const mask of this._bitmapMasks)
{
if(!mask) continue;
if (!mask) continue;
_local_6 = false;
for(const plane of this._bitmapMasksOld)
for (const plane of this._bitmapMasksOld)
{
if(!plane) continue;
if (!plane) continue;
if(((plane.type === mask.type) && (plane.leftSideLoc === mask.leftSideLoc)) && (plane.rightSideLoc === mask.rightSideLoc))
if (((plane.type === mask.type) && (plane.leftSideLoc === mask.leftSideLoc)) && (plane.rightSideLoc === mask.rightSideLoc))
{
_local_6 = true;
@ -870,7 +870,7 @@ export class RoomPlane implements IRoomPlane
}
}
if(!_local_6)
if (!_local_6)
{
_local_3 = false;
@ -883,25 +883,25 @@ export class RoomPlane implements IRoomPlane
_local_3 = false;
}
if(this._rectangleMasks.length > this._rectangleMasksOld.length) _local_3 = false;
if (this._rectangleMasks.length > this._rectangleMasksOld.length) _local_3 = false;
if(_local_3) this._maskChanged = false;
if (_local_3) this._maskChanged = false;
}
private updateMask(texture: Graphics, geometry: IRoomGeometry): void
{
if(!texture || !geometry) return;
if (!texture || !geometry) return;
if(((!this._useMask) || ((!this._bitmapMasks.length && !this._rectangleMasks.length) && !this._maskChanged)) || !this._maskManager) return;
if (((!this._useMask) || ((!this._bitmapMasks.length && !this._rectangleMasks.length) && !this._maskChanged)) || !this._maskManager) return;
const width = texture.width;
const height = texture.height;
this.updateMaskChangeStatus();
if(!this._maskBitmapData || (this._maskBitmapData.width !== width) || (this._maskBitmapData.height !== height))
if (!this._maskBitmapData || (this._maskBitmapData.width !== width) || (this._maskBitmapData.height !== height))
{
if(this._maskBitmapData)
if (this._maskBitmapData)
{
this._maskBitmapData.destroy();
this._maskBitmapData = null;
@ -918,12 +918,12 @@ export class RoomPlane implements IRoomPlane
this._maskChanged = true;
}
if(this._maskChanged)
if (this._maskChanged)
{
this._bitmapMasksOld = [];
this._rectangleMasksOld = [];
if(this._maskBitmapData)
if (this._maskBitmapData)
{
this._maskBitmapData
.beginFill(0xFFFFFF, 0)
@ -940,11 +940,11 @@ export class RoomPlane implements IRoomPlane
let posY = 0;
let i = 0;
while(i < this._bitmapMasks.length)
while (i < this._bitmapMasks.length)
{
const mask = this._bitmapMasks[i];
if(mask)
if (mask)
{
type = mask.type;
posX = (this._maskBitmapData.width - ((this._maskBitmapData.width * mask.leftSideLoc) / this._leftSide.length));
@ -959,11 +959,11 @@ export class RoomPlane implements IRoomPlane
i = 0;
while(i < this._rectangleMasks.length)
while (i < this._rectangleMasks.length)
{
const rectMask = this._rectangleMasks[i];
if(rectMask)
if (rectMask)
{
posX = (this._maskBitmapData.width - ((this._maskBitmapData.width * rectMask.leftSideLoc) / this._leftSide.length));
posY = (this._maskBitmapData.height - ((this._maskBitmapData.height * rectMask.rightSideLoc) / this._rightSide.length));
@ -990,7 +990,7 @@ export class RoomPlane implements IRoomPlane
private combineTextureMask(texture: Graphics, mask: Graphics): void
{
if(!texture || !mask) return;
if (!texture || !mask) return;
const maskCanvas = TextureUtils.generateCanvas(mask);
const textureCanvas = TextureUtils.generateCanvas(texture);
@ -1001,21 +1001,21 @@ export class RoomPlane implements IRoomPlane
const textureImageData = textureCtx.getImageData(0, 0, textureCanvas.width, textureCanvas.height);
const data = textureImageData.data;
for(let i = 0; i < data.length; i += 4)
for (let i = 0; i < data.length; i += 4)
{
const red = data[ i ];
const green = data[ i + 1 ];
const blue = data[ i + 2 ];
const alpha = data[ i + 3 ];
const red = data[i];
const green = data[i + 1];
const blue = data[i + 2];
const alpha = data[i + 3];
if(!red && !green && !blue) data[ i + 3 ] = 0;
if (!red && !green && !blue) data[i + 3] = 0;
}
textureCtx.putImageData(textureImageData, 0, 0);
const newTexture = Texture.from(textureCanvas);
if(!newTexture) return;
if (!newTexture) return;
texture
.clear()

View File

@ -1,6 +1,6 @@
import { Matrix, Point } from '@pixi/math';
import { IGraphicAsset } from '../../../../../../../api';
import { NitroSprite } from '../../../../../../../core';
import { NitroSprite } from '../../../../../../../pixi-proxy';
import { IVector3D } from '../../../../../../../room/utils/IVector3D';
import { Randomizer } from '../../utils';
import { PlaneTexture } from './PlaneTexture';

View File

@ -1,5 +1,5 @@
import { Graphics } from '@pixi/graphics';
import { NitroRenderTexture } from '../../../../../../../core';
import { NitroRenderTexture } from '../../../../../../../pixi-proxy';
import { IVector3D } from '../../../../../../../room/utils/IVector3D';
import { Vector3d } from '../../../../../../../room/utils/Vector3d';
import { PlaneMaterialCell } from './PlaneMaterialCell';
@ -36,19 +36,19 @@ export class PlaneMaterialCellColumn
this._isCached = false;
this._isStatic = true;
if(cells && cells.length)
if (cells && cells.length)
{
let cellIndex = 0;
while(cellIndex < cells.length)
while (cellIndex < cells.length)
{
const cell = cells[cellIndex];
if(cell)
if (cell)
{
this._cells.push(cell);
if(!cell.isStatic) this._isStatic = false;
if (!cell.isStatic) this._isStatic = false;
}
cellIndex++;
@ -73,11 +73,11 @@ export class PlaneMaterialCellColumn
public dispose(): void
{
if(this._cells && this._cells.length)
if (this._cells && this._cells.length)
{
for(const cell of this._cells)
for (const cell of this._cells)
{
if(!cell) continue;
if (!cell) continue;
cell.dispose();
}
@ -85,39 +85,39 @@ export class PlaneMaterialCellColumn
this._cells = null;
}
if(this._cachedBitmapData)
if (this._cachedBitmapData)
{
this._cachedBitmapData.destroy();
this._cachedBitmapData = null;
}
if(this._cachedBitmapNormal) this._cachedBitmapNormal = null;
if (this._cachedBitmapNormal) this._cachedBitmapNormal = null;
}
public clearCache(): void
{
if(!this._isCached) return;
if (!this._isCached) return;
if(this._cachedBitmapData)
if (this._cachedBitmapData)
{
this._cachedBitmapData.destroy();
this._cachedBitmapData = null;
}
if(this._cachedBitmapNormal)
if (this._cachedBitmapNormal)
{
this._cachedBitmapNormal.x = 0;
this._cachedBitmapNormal.y = 0;
this._cachedBitmapNormal.z = 0;
}
if(this._cells && this._cells.length)
if (this._cells && this._cells.length)
{
for(const cell of this._cells)
for (const cell of this._cells)
{
if(!cell) continue;
if (!cell) continue;
cell.clearCache();
}
@ -130,19 +130,19 @@ export class PlaneMaterialCellColumn
{
let ht = 0;
if(this._repeatMode == PlaneMaterialCellColumn.REPEAT_MODE_NONE)
if (this._repeatMode == PlaneMaterialCellColumn.REPEAT_MODE_NONE)
{
ht = this.getCellsHeight(this._cells, normal);
height = ht;
}
if(!this._cachedBitmapNormal) this._cachedBitmapNormal = new Vector3d();
if (!this._cachedBitmapNormal) this._cachedBitmapNormal = new Vector3d();
if(this.isStatic)
if (this.isStatic)
{
if(this._cachedBitmapData)
if (this._cachedBitmapData)
{
if((this._cachedBitmapData.height === height) && Vector3d.isEqual(this._cachedBitmapNormal, normal) && (this._cachedBitmapDataOffsetX === offsetX) && (this._cachedBitmapDataOffsetY === offsetY))
if ((this._cachedBitmapData.height === height) && Vector3d.isEqual(this._cachedBitmapNormal, normal) && (this._cachedBitmapDataOffsetX === offsetX) && (this._cachedBitmapDataOffsetY === offsetY))
{
return this._cachedBitmapData;
}
@ -154,9 +154,9 @@ export class PlaneMaterialCellColumn
}
else
{
if(this._cachedBitmapData)
if (this._cachedBitmapData)
{
if(this._cachedBitmapData.height === height)
if (this._cachedBitmapData.height === height)
{
this._cachedBitmapData
.beginFill(0xFFFFFF)
@ -174,7 +174,7 @@ export class PlaneMaterialCellColumn
this._isCached = true;
if(!this._cachedBitmapData)
if (!this._cachedBitmapData)
{
this._cachedBitmapData = new Graphics()
.beginFill(0xFFFFFF)
@ -186,9 +186,9 @@ export class PlaneMaterialCellColumn
this._cachedBitmapDataOffsetX = offsetX;
this._cachedBitmapDataOffsetY = offsetY;
if(!this._cells.length) return this._cachedBitmapData;
if (!this._cells.length) return this._cachedBitmapData;
switch(this._repeatMode)
switch (this._repeatMode)
{
case PlaneMaterialCellColumn.REPEAT_MODE_NONE:
this.renderRepeatNone(normal);
@ -219,16 +219,16 @@ export class PlaneMaterialCellColumn
private getCellsHeight(cells: PlaneMaterialCell[], normal: IVector3D): number
{
if(!cells || !cells.length) return 0;
if (!cells || !cells.length) return 0;
let height = 0;
let cellIterator = 0;
while(cellIterator < cells.length)
while (cellIterator < cells.length)
{
const cell = cells[cellIterator];
if(cell) height += cell.getHeight(normal);
if (cell) height += cell.getHeight(normal);
cellIterator++;
}
@ -238,15 +238,15 @@ export class PlaneMaterialCellColumn
private renderCells(cells: PlaneMaterialCell[], index: number, flag: boolean, normal: IVector3D, offsetX: number = 0, offsetY: number = 0): number
{
if(((!cells || !cells.length) || !this._cachedBitmapData)) return index;
if (((!cells || !cells.length) || !this._cachedBitmapData)) return index;
let cellIndex = 0;
while(cellIndex < cells.length)
while (cellIndex < cells.length)
{
let cell: PlaneMaterialCell = null;
if(flag)
if (flag)
{
cell = cells[cellIndex];
}
@ -255,21 +255,21 @@ export class PlaneMaterialCellColumn
cell = cells[((cells.length - 1) - cellIndex)];
}
if(cell)
if (cell)
{
const graphic = cell.render(normal, offsetX, offsetY);
if(graphic)
if (graphic)
{
if(!flag) index -= graphic.height;
if (!flag) index -= graphic.height;
graphic.y = index;
this._cachedBitmapData.addChild(graphic);
if(flag) index = (index + graphic.height);
if (flag) index = (index + graphic.height);
if(((flag) && (index >= this._cachedBitmapData.height)) || ((!(flag)) && (index <= 0))) return index;
if (((flag) && (index >= this._cachedBitmapData.height)) || ((!(flag)) && (index <= 0))) return index;
}
}
@ -281,22 +281,22 @@ export class PlaneMaterialCellColumn
private renderRepeatNone(normal: IVector3D): void
{
if(!this._cells.length || !this._cachedBitmapData) return;
if (!this._cells.length || !this._cachedBitmapData) return;
this.renderCells(this._cells, 0, true, normal);
}
private renderRepeatAll(normal: IVector3D, offsetX: number, offsetY: number): void
{
if(!this._cells.length || !this._cachedBitmapData) return;
if (!this._cells.length || !this._cachedBitmapData) return;
let index = 0;
while(index < this._cachedBitmapData.height)
while (index < this._cachedBitmapData.height)
{
index = this.renderCells(this._cells, index, true, normal, offsetX, offsetY);
if(!index) return;
if (!index) return;
}
}

View File

@ -2,7 +2,7 @@ import { RenderTexture, Texture } from '@pixi/core';
import { Container, DisplayObject } from '@pixi/display';
import { Point, Rectangle } from '@pixi/math';
import { Sprite } from '@pixi/sprite';
import { NitroSprite } from '../../../core';
import { NitroSprite } from '../../../pixi-proxy';
import { IRoomObjectController } from '../../../room/object/IRoomObjectController';
import { IRoomRenderingCanvas } from '../../../room/renderer/IRoomRenderingCanvas';
import { IVector3D } from '../../../room/utils/IVector3D';
@ -69,7 +69,7 @@ export class RoomPreviewer
this.onRoomObjectAdded = this.onRoomObjectAdded.bind(this);
this.onRoomInitializedonRoomInitialized = this.onRoomInitializedonRoomInitialized.bind(this);
if(this.isRoomEngineReady && this._roomEngine.events)
if (this.isRoomEngineReady && this._roomEngine.events)
{
this._roomEngine.events.addEventListener(RoomEngineObjectEvent.ADDED, this.onRoomObjectAdded);
this._roomEngine.events.addEventListener(RoomEngineObjectEvent.CONTENT_UPDATED, this.onRoomObjectAdded);
@ -83,21 +83,21 @@ export class RoomPreviewer
{
this.reset(true);
if(this.isRoomEngineReady && this._roomEngine.events)
if (this.isRoomEngineReady && this._roomEngine.events)
{
this._roomEngine.events.removeEventListener(RoomEngineObjectEvent.ADDED, this.onRoomObjectAdded);
this._roomEngine.events.removeEventListener(RoomEngineObjectEvent.CONTENT_UPDATED, this.onRoomObjectAdded);
this._roomEngine.events.removeEventListener(RoomEngineEvent.INITIALIZED, this.onRoomInitializedonRoomInitialized);
}
if(this._backgroundSprite)
if (this._backgroundSprite)
{
this._backgroundSprite.destroy();
this._backgroundSprite = null;
}
if(this._planeParser)
if (this._planeParser)
{
this._planeParser.dispose();
@ -107,7 +107,7 @@ export class RoomPreviewer
private createRoomForPreview(): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const size = 7;
@ -117,11 +117,11 @@ export class RoomPreviewer
let y = 1;
while(y < (1 + size))
while (y < (1 + size))
{
let x = 1;
while(x < (1 + size))
while (x < (1 + size))
{
planeParser.setTileHeight(x, y, 0);
@ -141,13 +141,13 @@ export class RoomPreviewer
public reset(k: boolean): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this._roomEngine.removeRoomObjectFloor(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID);
this._roomEngine.removeRoomObjectWall(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID);
this._roomEngine.removeRoomObjectUser(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID);
if(!k) this.updatePreviewRoomView();
if (!k) this.updatePreviewRoomView();
}
this._currentPreviewObjectCategory = RoomObjectCategory.MINIMUM;
@ -163,7 +163,7 @@ export class RoomPreviewer
//@ts-ignore
const wallGeometry = (this._roomEngine as IRoomCreator).getLegacyWallGeometry(this._previewRoomId);
if(!wallGeometry) return;
if (!wallGeometry) return;
this._planeParser.reset();
@ -181,17 +181,17 @@ export class RoomPreviewer
let y = 0;
while(y < height)
while (y < height)
{
let x = 0;
while(x < width)
while (x < width)
{
const tileHeight = parser.getHeight(x, y);
if(((((y > 0) && (y < (height - 1))) || ((x > 0) && (x < (width - 1)))) && (!(tileHeight == RoomPlaneParser.TILE_BLOCKED))) && ((entryTile == null) || ((x == entryTile.x) && (y == entryTile.y))))
if (((((y > 0) && (y < (height - 1))) || ((x > 0) && (x < (width - 1)))) && (!(tileHeight == RoomPlaneParser.TILE_BLOCKED))) && ((entryTile == null) || ((x == entryTile.x) && (y == entryTile.y))))
{
if(((parser.getHeight(x, (y - 1)) == RoomPlaneParser.TILE_BLOCKED) && (parser.getHeight((x - 1), y) == RoomPlaneParser.TILE_BLOCKED)) && (parser.getHeight(x, (y + 1)) == RoomPlaneParser.TILE_BLOCKED))
if (((parser.getHeight(x, (y - 1)) == RoomPlaneParser.TILE_BLOCKED) && (parser.getHeight((x - 1), y) == RoomPlaneParser.TILE_BLOCKED)) && (parser.getHeight(x, (y + 1)) == RoomPlaneParser.TILE_BLOCKED))
{
doorX = (x + 0.5);
doorY = y;
@ -199,7 +199,7 @@ export class RoomPreviewer
doorDirection = 90;
}
if(((parser.getHeight(x, (y - 1)) == RoomPlaneParser.TILE_BLOCKED) && (parser.getHeight((x - 1), y) == RoomPlaneParser.TILE_BLOCKED)) && (parser.getHeight((x + 1), y) == RoomPlaneParser.TILE_BLOCKED))
if (((parser.getHeight(x, (y - 1)) == RoomPlaneParser.TILE_BLOCKED) && (parser.getHeight((x - 1), y) == RoomPlaneParser.TILE_BLOCKED)) && (parser.getHeight((x + 1), y) == RoomPlaneParser.TILE_BLOCKED))
{
doorX = x;
doorY = (y + 0.5);
@ -225,11 +225,11 @@ export class RoomPreviewer
let heightIterator = (parser.height - 1);
while(heightIterator >= 0)
while (heightIterator >= 0)
{
let widthIterator = (parser.width - 1);
while(widthIterator >= 0)
while (widthIterator >= 0)
{
wallGeometry.setHeight(widthIterator, heightIterator, this._planeParser.getTileHeight(widthIterator, heightIterator));
widthIterator--;
@ -249,14 +249,14 @@ export class RoomPreviewer
const roomObject = this.getRoomPreviewOwnRoomObject();
if(roomObject) roomObject.processUpdateMessage(new ObjectRoomMapUpdateMessage(roomMap));
if (roomObject) roomObject.processUpdateMessage(new ObjectRoomMapUpdateMessage(roomMap));
}
public addFurnitureIntoRoom(classId: number, direction: IVector3D, objectData: IObjectData = null, extra: string = null): number
{
if(!objectData) objectData = new LegacyDataType();
if (!objectData) objectData = new LegacyDataType();
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this.reset(false);
@ -264,14 +264,14 @@ export class RoomPreviewer
this._currentPreviewObjectCategory = RoomObjectCategory.FLOOR;
this._currentPreviewObjectData = '';
if(this._roomEngine.addFurnitureFloor(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, classId, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), direction, 0, objectData, NaN, -1, 0, -1, '', true, false))
if (this._roomEngine.addFurnitureFloor(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, classId, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), direction, 0, objectData, NaN, -1, 0, -1, '', true, false))
{
this._previousAutomaticStateChangeTime = Nitro.instance.time;
this._automaticStateChange = true;
const roomObject = this._roomEngine.getRoomObject(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
if(roomObject && extra) roomObject.model.setValue(RoomObjectVariable.FURNITURE_EXTRAS, extra);
if (roomObject && extra) roomObject.model.setValue(RoomObjectVariable.FURNITURE_EXTRAS, extra);
this.updatePreviewRoomView();
@ -284,9 +284,9 @@ export class RoomPreviewer
public addWallItemIntoRoom(classId: number, direction: IVector3D, objectData: string): number
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
if((this._currentPreviewObjectCategory === RoomObjectCategory.WALL) && (this._currentPreviewObjectType === classId) && (this._currentPreviewObjectData === objectData)) return RoomPreviewer.PREVIEW_OBJECT_ID;
if ((this._currentPreviewObjectCategory === RoomObjectCategory.WALL) && (this._currentPreviewObjectType === classId) && (this._currentPreviewObjectData === objectData)) return RoomPreviewer.PREVIEW_OBJECT_ID;
this.reset(false);
@ -294,7 +294,7 @@ export class RoomPreviewer
this._currentPreviewObjectCategory = RoomObjectCategory.WALL;
this._currentPreviewObjectData = objectData;
if(this._roomEngine.addFurnitureWall(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, classId, new Vector3d(0.5, 2.3, 1.8), direction, 0, objectData, 0, 0, -1, '', false))
if (this._roomEngine.addFurnitureWall(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, classId, new Vector3d(0.5, 2.3, 1.8), direction, 0, objectData, 0, 0, -1, '', false))
{
this._previousAutomaticStateChangeTime = Nitro.instance.time;
this._automaticStateChange = true;
@ -310,7 +310,7 @@ export class RoomPreviewer
public addAvatarIntoRoom(figure: string, effect: number): number
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this.reset(false);
@ -318,7 +318,7 @@ export class RoomPreviewer
this._currentPreviewObjectCategory = RoomObjectCategory.UNIT;
this._currentPreviewObjectData = figure;
if(this._roomEngine.addRoomObjectUser(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), new Vector3d(90, 0, 0), 135, RoomObjectUserType.getTypeNumber(RoomObjectUserType.USER), figure))
if (this._roomEngine.addRoomObjectUser(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), new Vector3d(90, 0, 0), 135, RoomObjectUserType.getTypeNumber(RoomObjectUserType.USER), figure))
{
this._previousAutomaticStateChangeTime = Nitro.instance.time;
this._automaticStateChange = true;
@ -338,7 +338,7 @@ export class RoomPreviewer
public addPetIntoRoom(figure: string): number
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this.reset(false);
@ -346,7 +346,7 @@ export class RoomPreviewer
this._currentPreviewObjectCategory = RoomObjectCategory.UNIT;
this._currentPreviewObjectData = figure;
if(this._roomEngine.addRoomObjectUser(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), new Vector3d(90, 0, 0), 90, RoomObjectUserType.getTypeNumber(RoomObjectUserType.PET), figure))
if (this._roomEngine.addRoomObjectUser(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), new Vector3d(90, 0, 0), 90, RoomObjectUserType.getTypeNumber(RoomObjectUserType.PET), figure))
{
this._previousAutomaticStateChangeTime = Nitro.instance.time;
this._automaticStateChange = false;
@ -365,57 +365,57 @@ export class RoomPreviewer
public updateUserPosture(type: string, parameter: string = ''): void
{
if(this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserPosture(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, type, parameter);
if (this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserPosture(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, type, parameter);
}
public updateUserGesture(gestureId: number): void
{
if(this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserGesture(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, gestureId);
if (this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserGesture(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, gestureId);
}
public updateUserEffect(effectId: number): void
{
if(this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserEffect(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, effectId);
if (this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserEffect(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, effectId);
}
public updateObjectUserFigure(figure: string, gender: string = null, subType: string = null, isRiding: boolean = false): boolean
{
if(this.isRoomEngineReady) return this._roomEngine.updateRoomObjectUserFigure(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, figure, gender, subType, isRiding);
if (this.isRoomEngineReady) return this._roomEngine.updateRoomObjectUserFigure(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, figure, gender, subType, isRiding);
return false;
}
public updateObjectUserAction(action: string, value: number, parameter: string = null): void
{
if(this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserAction(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, action, value, parameter);
if (this.isRoomEngineReady) this._roomEngine.updateRoomObjectUserAction(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, action, value, parameter);
}
public updateObjectStuffData(stuffData: IObjectData): void
{
if(this.isRoomEngineReady) this._roomEngine.updateRoomObjectFloor(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, null, null, stuffData.state, stuffData);
if (this.isRoomEngineReady) this._roomEngine.updateRoomObjectFloor(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, null, null, stuffData.state, stuffData);
}
public changeRoomObjectState(): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this._automaticStateChange = false;
if(this._currentPreviewObjectCategory !== RoomObjectCategory.UNIT) this._roomEngine.changeObjectState(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
if (this._currentPreviewObjectCategory !== RoomObjectCategory.UNIT) this._roomEngine.changeObjectState(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
}
}
public changeRoomObjectDirection(): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const roomObject = this._roomEngine.getRoomObject(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
if(!roomObject) return;
if (!roomObject) return;
const direction = this._roomEngine.objectEventHandler.getValidRoomObjectDirection(roomObject, true);
switch(this._currentPreviewObjectCategory)
switch (this._currentPreviewObjectCategory)
{
case RoomObjectCategory.FLOOR: {
const floorLocation = new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y);
@ -433,30 +433,30 @@ export class RoomPreviewer
private checkAutomaticRoomObjectStateChange(): void
{
if(this._automaticStateChange)
if (this._automaticStateChange)
{
const time = Nitro.instance.time;
if(time > (this._previousAutomaticStateChangeTime + RoomPreviewer.AUTOMATIC_STATE_CHANGE_INTERVAL))
if (time > (this._previousAutomaticStateChangeTime + RoomPreviewer.AUTOMATIC_STATE_CHANGE_INTERVAL))
{
this._previousAutomaticStateChangeTime = time;
if(this.isRoomEngineReady) this._roomEngine.changeObjectState(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
if (this.isRoomEngineReady) this._roomEngine.changeObjectState(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
}
}
}
public getRoomCanvas(width: number, height: number): DisplayObject
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const displayObject = (this._roomEngine.getRoomInstanceDisplay(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID, width, height, this._currentPreviewScale) as Container);
if(displayObject && (this._backgroundColor !== null))
if (displayObject && (this._backgroundColor !== null))
{
let backgroundSprite = this._backgroundSprite;
if(!backgroundSprite)
if (!backgroundSprite)
{
backgroundSprite = new NitroSprite(Texture.WHITE);
@ -472,7 +472,7 @@ export class RoomPreviewer
const geometry = this._roomEngine.getRoomInstanceGeometry(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID);
if(geometry) geometry.adjustLocation(new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), 30);
if (geometry) geometry.adjustLocation(new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), 30);
this._currentPreviewCanvasWidth = width;
this._currentPreviewCanvasHeight = height;
@ -485,12 +485,12 @@ export class RoomPreviewer
public modifyRoomCanvas(width: number, height: number): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this._currentPreviewCanvasWidth = width;
this._currentPreviewCanvasHeight = height;
if(this._backgroundSprite)
if (this._backgroundSprite)
{
this._backgroundSprite.width = width;
this._backgroundSprite.height = height;
@ -514,7 +514,7 @@ export class RoomPreviewer
{
const objectBounds = this._roomEngine.getRoomObjectBoundingRectangle(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory, RoomPreviewer.PREVIEW_CANVAS_ID);
if(objectBounds && point)
if (objectBounds && point)
{
objectBounds.x += -(this._currentPreviewCanvasWidth >> 1);
objectBounds.y += -(this._currentPreviewCanvasHeight >> 1);
@ -522,7 +522,7 @@ export class RoomPreviewer
objectBounds.x += -(point.x);
objectBounds.y += -(point.y);
if(!this._currentPreviewRectangle)
if (!this._currentPreviewRectangle)
{
this._currentPreviewRectangle = objectBounds;
}
@ -530,27 +530,27 @@ export class RoomPreviewer
{
const bounds = this._currentPreviewRectangle.clone().enlarge(objectBounds);
if(((((bounds.width - this._currentPreviewRectangle.width) > ((this._currentPreviewCanvasWidth - this._currentPreviewRectangle.width) >> 1)) || ((bounds.height - this._currentPreviewRectangle.height) > ((this._currentPreviewCanvasHeight - this._currentPreviewRectangle.height) >> 1))) || (this._currentPreviewRectangle.width < 1)) || (this._currentPreviewRectangle.height < 1)) this._currentPreviewRectangle = bounds;
if (((((bounds.width - this._currentPreviewRectangle.width) > ((this._currentPreviewCanvasWidth - this._currentPreviewRectangle.width) >> 1)) || ((bounds.height - this._currentPreviewRectangle.height) > ((this._currentPreviewCanvasHeight - this._currentPreviewRectangle.height) >> 1))) || (this._currentPreviewRectangle.width < 1)) || (this._currentPreviewRectangle.height < 1)) this._currentPreviewRectangle = bounds;
}
}
}
private validatePreviewSize(point: Point): Point
{
if(((this._currentPreviewRectangle.width < 1) || (this._currentPreviewRectangle.height < 1)))
if (((this._currentPreviewRectangle.width < 1) || (this._currentPreviewRectangle.height < 1)))
{
return point;
}
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const geometry = this._roomEngine.getRoomInstanceGeometry(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID);
if((this._currentPreviewRectangle.width > (this._currentPreviewCanvasWidth * (1 + RoomPreviewer.ALLOWED_IMAGE_CUT))) || (this._currentPreviewRectangle.height > (this._currentPreviewCanvasHeight * (1 + RoomPreviewer.ALLOWED_IMAGE_CUT))))
if ((this._currentPreviewRectangle.width > (this._currentPreviewCanvasWidth * (1 + RoomPreviewer.ALLOWED_IMAGE_CUT))) || (this._currentPreviewRectangle.height > (this._currentPreviewCanvasHeight * (1 + RoomPreviewer.ALLOWED_IMAGE_CUT))))
{
if(RoomPreviewer.ZOOM_ENABLED)
if (RoomPreviewer.ZOOM_ENABLED)
{
if(this._roomEngine.getRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID) !== 0.5)
if (this._roomEngine.getRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID) !== 0.5)
{
this._roomEngine.setRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID, 0.5, null, null);
@ -568,7 +568,7 @@ export class RoomPreviewer
}
else
{
if(geometry.isZoomedIn())
if (geometry.isZoomedIn())
{
geometry.performZoomOut();
@ -578,11 +578,11 @@ export class RoomPreviewer
}
}
else if(!this._currentPreviewNeedsZoomOut)
else if (!this._currentPreviewNeedsZoomOut)
{
if(RoomPreviewer.ZOOM_ENABLED)
if (RoomPreviewer.ZOOM_ENABLED)
{
if(this._roomEngine.getRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID) !== 1)
if (this._roomEngine.getRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID) !== 1)
{
this._roomEngine.setRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID, 1, null, null);
@ -591,7 +591,7 @@ export class RoomPreviewer
}
else
{
if(!geometry.isZoomedIn())
if (!geometry.isZoomedIn())
{
geometry.performZoomIn();
@ -606,9 +606,9 @@ export class RoomPreviewer
public zoomIn(): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
if(RoomPreviewer.ZOOM_ENABLED)
if (RoomPreviewer.ZOOM_ENABLED)
{
this._roomEngine.setRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID, 1);
}
@ -625,9 +625,9 @@ export class RoomPreviewer
public zoomOut(): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
if(RoomPreviewer.ZOOM_ENABLED)
if (RoomPreviewer.ZOOM_ENABLED)
{
this._roomEngine.setRoomInstanceRenderingCanvasScale(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID, 0.5);
}
@ -644,7 +644,7 @@ export class RoomPreviewer
public updateAvatarDirection(direction: number, headDirection: number): void
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
this._roomEngine.updateRoomObjectUserLocation(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), new Vector3d(RoomPreviewer.PREVIEW_OBJECT_LOCATION_X, RoomPreviewer.PREVIEW_OBJECT_LOCATION_Y, 0), false, 0, new Vector3d((direction * 45), 0, 0), (headDirection * 45));
}
@ -652,31 +652,31 @@ export class RoomPreviewer
public updateObjectRoom(floorType: string = null, wallType: string = null, landscapeType: string = null, _arg_4: boolean = false): boolean
{
if(this.isRoomEngineReady) return this._roomEngine.updateRoomInstancePlaneType(this._previewRoomId, floorType, wallType, landscapeType, _arg_4);
if (this.isRoomEngineReady) return this._roomEngine.updateRoomInstancePlaneType(this._previewRoomId, floorType, wallType, landscapeType, _arg_4);
return false;
}
public updateRoomWallsAndFloorVisibility(wallsVisible: boolean, floorsVisible: boolean = true): void
{
if(this.isRoomEngineReady) this._roomEngine.updateRoomInstancePlaneVisibility(this._previewRoomId, wallsVisible, floorsVisible);
if (this.isRoomEngineReady) this._roomEngine.updateRoomInstancePlaneVisibility(this._previewRoomId, wallsVisible, floorsVisible);
}
private getCanvasOffset(point: Point): Point
{
if(((this._currentPreviewRectangle.width < 1) || (this._currentPreviewRectangle.height < 1))) return point;
if (((this._currentPreviewRectangle.width < 1) || (this._currentPreviewRectangle.height < 1))) return point;
let x = (-(this._currentPreviewRectangle.left + this._currentPreviewRectangle.right) >> 1);
let y = (-(this._currentPreviewRectangle.top + this._currentPreviewRectangle.bottom) >> 1);
const height = ((this._currentPreviewCanvasHeight - this._currentPreviewRectangle.height) >> 1);
if(height > 10)
if (height > 10)
{
y = (y + Math.min(15, (height - 10)));
}
else
{
if(this._currentPreviewObjectCategory !== RoomObjectCategory.UNIT)
if (this._currentPreviewObjectCategory !== RoomObjectCategory.UNIT)
{
y = (y + (5 - Math.max(0, (height / 2))));
}
@ -692,11 +692,11 @@ export class RoomPreviewer
const offsetX = (x - point.x);
const offsetY = (y - point.y);
if((offsetX !== 0) || (offsetY !== 0))
if ((offsetX !== 0) || (offsetY !== 0))
{
const _local_7 = Math.sqrt(((offsetX * offsetX) + (offsetY * offsetY)));
if(_local_7 > 10)
if (_local_7 > 10)
{
x = (point.x + ((offsetX * 10) / _local_7));
y = (point.y + ((offsetY * 10) / _local_7));
@ -710,19 +710,19 @@ export class RoomPreviewer
public updatePreviewRoomView(k: boolean = false): void
{
if(this._disableUpdate && !k) return;
if (this._disableUpdate && !k) return;
this.checkAutomaticRoomObjectStateChange();
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
let offset = this._roomEngine.getRoomInstanceRenderingCanvasOffset(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID);
if(offset)
if (offset)
{
this.updatePreviewObjectBoundingRectangle(offset);
if(this._currentPreviewRectangle)
if (this._currentPreviewRectangle)
{
const scale = this._currentPreviewScale;
@ -730,12 +730,12 @@ export class RoomPreviewer
const canvasOffset = this.getCanvasOffset(offset);
if(canvasOffset)
if (canvasOffset)
{
this._roomEngine.setRoomInstanceRenderingCanvasOffset(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID, canvasOffset);
}
if(this._currentPreviewScale !== scale) this._currentPreviewRectangle = null;
if (this._currentPreviewScale !== scale) this._currentPreviewRectangle = null;
}
}
}
@ -748,17 +748,17 @@ export class RoomPreviewer
public set disableRoomEngineUpdate(flag: boolean)
{
if(this.isRoomEngineReady) this._roomEngine.disableUpdate(flag);
if (this.isRoomEngineReady) this._roomEngine.disableUpdate(flag);
}
private onRoomInitializedonRoomInitialized(event: RoomEngineEvent): void
{
if(!event) return;
if (!event) return;
switch(event.type)
switch (event.type)
{
case RoomEngineEvent.INITIALIZED:
if((event.roomId === this._previewRoomId) && this.isRoomEngineReady)
if ((event.roomId === this._previewRoomId) && this.isRoomEngineReady)
{
this._roomEngine.updateRoomInstancePlaneType(this._previewRoomId, '110', '99999');
}
@ -768,19 +768,19 @@ export class RoomPreviewer
private onRoomObjectAdded(event: RoomEngineObjectEvent): void
{
if((event.roomId === this._previewRoomId) && (event.objectId === RoomPreviewer.PREVIEW_OBJECT_ID) && (event.category === this._currentPreviewObjectCategory))
if ((event.roomId === this._previewRoomId) && (event.objectId === RoomPreviewer.PREVIEW_OBJECT_ID) && (event.category === this._currentPreviewObjectCategory))
{
this._currentPreviewRectangle = null;
this._currentPreviewNeedsZoomOut = false;
const roomObject = this._roomEngine.getRoomObject(event.roomId, event.objectId, event.category);
if(roomObject && roomObject.model && (event.category === RoomObjectCategory.WALL))
if (roomObject && roomObject.model && (event.category === RoomObjectCategory.WALL))
{
const sizeZ = roomObject.model.getValue<number>(RoomObjectVariable.FURNITURE_SIZE_Z);
const centerZ = roomObject.model.getValue<number>(RoomObjectVariable.FURNITURE_CENTER_Z);
if((sizeZ !== null) || (centerZ !== null))
if ((sizeZ !== null) || (centerZ !== null))
{
this._roomEngine.updateRoomObjectWallLocation(event.roomId, event.objectId, new Vector3d(0.5, 2.3, (((3.6 - sizeZ) / 2) + centerZ)));
}
@ -790,21 +790,21 @@ export class RoomPreviewer
public updateRoomEngine(): void
{
if(this.isRoomEngineReady) this._roomEngine.runUpdate();
if (this.isRoomEngineReady) this._roomEngine.runUpdate();
}
public getRenderingCanvas(): IRoomRenderingCanvas
{
const renderingCanvas = this._roomEngine.getRoomInstanceRenderingCanvas(this._previewRoomId, RoomPreviewer.PREVIEW_CANVAS_ID);
if(!renderingCanvas) return null;
if (!renderingCanvas) return null;
return renderingCanvas;
}
public getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, objectData: IObjectData = null, state: number = -1, frame: number = -1, posture: string = null): ImageResult
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
return this._roomEngine.getGenericRoomObjectImage(type, value, direction, scale, listener, bgColor, extras, objectData, state, frame, posture);
}
@ -814,7 +814,7 @@ export class RoomPreviewer
public getRoomObjectImage(direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0): ImageResult
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
return this._roomEngine.getRoomObjectImage(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory, direction, scale, listener, bgColor);
}
@ -824,11 +824,11 @@ export class RoomPreviewer
public getRoomObjectCurrentImage(): RenderTexture
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const roomObject = this._roomEngine.getRoomObject(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
if(roomObject && roomObject.visualization) return roomObject.visualization.getImage(0xFFFFFF, -1);
if (roomObject && roomObject.visualization) return roomObject.visualization.getImage(0xFFFFFF, -1);
}
return null;
@ -836,11 +836,11 @@ export class RoomPreviewer
public getRoomPreviewObject(): IRoomObjectController
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const roomObject = this._roomEngine.getRoomObject(this._previewRoomId, RoomPreviewer.PREVIEW_OBJECT_ID, this._currentPreviewObjectCategory);
if(roomObject) return roomObject;
if (roomObject) return roomObject;
}
return null;
@ -848,11 +848,11 @@ export class RoomPreviewer
public getRoomPreviewOwnRoomObject(): IRoomObjectController
{
if(this.isRoomEngineReady)
if (this.isRoomEngineReady)
{
const roomObject = this._roomEngine.getRoomObject(this._previewRoomId, RoomEngine.ROOM_OBJECT_ID, RoomObjectCategory.ROOM);
if(roomObject) return roomObject;
if (roomObject) return roomObject;
}
return null;

View File

@ -1,7 +1,6 @@
import { Resource, Texture } from '@pixi/core';
import { IAssetManager, IDisposable, IMessageEvent } from '../../../api';
import { NitroContainer, NitroTexture } from '../../../core/utils';
import { NitroSprite } from '../../../core/utils/proxy/NitroSprite';
import { NitroContainer, NitroSprite, NitroTexture } from '../../../pixi-proxy';
import { GroupBadgePartsEvent } from '../../communication/messages/incoming/group/GroupBadgePartsEvent';
import { Nitro } from '../../Nitro';
import { BadgeImageReadyEvent } from '../events/BadgeImageReadyEvent';

View File

@ -1,7 +1,7 @@
import { RenderTexture } from '@pixi/core';
import { Point, Rectangle } from '@pixi/math';
import { IGraphicAssetCollection } from '../../../api';
import { NitroContainer, NitroSprite } from '../../../core';
import { NitroContainer, NitroSprite } from '../../../pixi-proxy';
import { RoomObjectSpriteData } from '../../data/RoomObjectSpriteData';
import { IRoomGeometry } from '../../utils/IRoomGeometry';
import { TextureUtils } from '../../utils/TextureUtils';

View File

@ -1,18 +1,18 @@
import { Resource, Texture } from '@pixi/core';
import { NitroSprite } from '../../../../core';
import { NitroSprite } from '../../../../pixi-proxy';
import { TextureUtils } from '../../../utils';
export class GraphicAssetPalette
{
private _palette: [ number, number, number ][];
private _palette: [number, number, number][];
private _primaryColor: number;
private _secondaryColor: number;
constructor(palette: [ number, number, number ][], primaryColor: number, secondaryColor: number)
constructor(palette: [number, number, number][], primaryColor: number, secondaryColor: number)
{
this._palette = palette;
while(this._palette.length < 256) this._palette.push([ 0, 0, 0 ]);
while (this._palette.length < 256) this._palette.push([0, 0, 0]);
this._primaryColor = primaryColor;
this._secondaryColor = secondaryColor;
@ -31,15 +31,15 @@ export class GraphicAssetPalette
const textureImageData = textureCtx.getImageData(0, 0, textureCanvas.width, textureCanvas.height);
const data = textureImageData.data;
for(let i = 0; i < data.length; i += 4)
for (let i = 0; i < data.length; i += 4)
{
let paletteColor = this._palette[data[ i + 1 ]];
let paletteColor = this._palette[data[i + 1]];
if(paletteColor === undefined) paletteColor = [ 0, 0, 0 ];
if (paletteColor === undefined) paletteColor = [0, 0, 0];
data[ i ] = paletteColor[0];
data[ i + 1 ] = paletteColor[1];
data[ i + 2 ] = paletteColor[2];
data[i] = paletteColor[0];
data[i + 1] = paletteColor[1];
data[i + 2] = paletteColor[2];
}
textureCtx.putImageData(textureImageData, 0, 0);

View File

@ -3,9 +3,9 @@ import { Container, DisplayObject } from '@pixi/display';
import { Graphics } from '@pixi/graphics';
import { Matrix, Point, Rectangle } from '@pixi/math';
import { Sprite } from '@pixi/sprite';
import { NitroContainer, NitroSprite } from '../../core';
import { Nitro } from '../../nitro/Nitro';
import { MouseEventType } from '../../nitro/ui/MouseEventType';
import { NitroContainer, NitroSprite } from '../../pixi-proxy';
import { RoomObjectSpriteData } from '../data/RoomObjectSpriteData';
import { RoomSpriteMouseEvent } from '../events/RoomSpriteMouseEvent';
import { RoomObjectSpriteType } from '../object/enum/RoomObjectSpriteType';
@ -136,14 +136,14 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private setupCanvas(): void
{
if(!this._master)
if (!this._master)
{
this._master = new NitroSprite();
this._master.interactiveChildren = false;
}
if(!this._display)
if (!this._display)
{
const display = new NitroContainer();
@ -157,32 +157,32 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
this.cleanSprites(0, true);
if(this._geometry)
if (this._geometry)
{
this._geometry.dispose();
this._geometry = null;
}
if(this._mask) this._mask = null;
if (this._mask) this._mask = null;
if(this._objectCache)
if (this._objectCache)
{
this._objectCache.dispose();
this._objectCache = null;
}
if(this._master)
if (this._master)
{
while(this._master.children.length)
while (this._master.children.length)
{
const child = this._master.removeChildAt(0);
child.destroy();
}
if(this._master.parent) this._master.parent.removeChild(this._master);
if (this._master.parent) this._master.parent.removeChild(this._master);
this._master.destroy();
@ -192,16 +192,16 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._display = null;
this._sortableSprites = [];
if(this._mouseActiveObjects)
if (this._mouseActiveObjects)
{
this._mouseActiveObjects.clear();
this._mouseActiveObjects = null;
}
if(this._spritePool)
if (this._spritePool)
{
for(const sprite of this._spritePool)
for (const sprite of this._spritePool)
{
this.cleanSprite(sprite, true);
}
@ -209,7 +209,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._spritePool = [];
}
if(this._eventCache)
if (this._eventCache)
{
this._eventCache.clear();
@ -224,20 +224,20 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
width = width < 1 ? 1 : width;
height = height < 1 ? 1 : height;
if(this._usesMask)
if (this._usesMask)
{
if(!this._mask)
if (!this._mask)
{
this._mask = new Graphics()
.beginFill(0xFF0000)
.drawRect(0, 0, width, height)
.endFill();
if(this._master)
if (this._master)
{
this._master.addChild(this._mask);
if(this._display) this._display.mask = this._mask;
if (this._display) this._display.mask = this._mask;
}
}
else
@ -250,9 +250,9 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
}
}
if(this._master)
if (this._master)
{
if(this._master.hitArea)
if (this._master.hitArea)
{
const hitArea = (this._master.hitArea as Rectangle);
@ -264,7 +264,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._master.hitArea = new Rectangle(0, 0, width, height);
}
if(this._master.filterArea)
if (this._master.filterArea)
{
const filterArea = this._master.filterArea;
@ -283,11 +283,11 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public setMask(flag: boolean): void
{
if(flag && !this._usesMask)
if (flag && !this._usesMask)
{
this._usesMask = true;
if(this._mask && (this._mask.parent !== this._master))
if (this._mask && (this._mask.parent !== this._master))
{
this._master.addChild(this._mask);
@ -295,11 +295,11 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
}
}
else if(!flag && this._usesMask)
else if (!flag && this._usesMask)
{
this._usesMask = false;
if(this._mask && (this._mask.parent === this._master))
if (this._mask && (this._mask.parent === this._master))
{
this._master.removeChild(this._mask);
@ -310,17 +310,17 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public setScale(scale: number, point: Point = null, offsetPoint: Point = null, override: boolean = false, asDelta: boolean = false): void
{
if(!this._master || !this._display) return;
if (!this._master || !this._display) return;
if(this._restrictsScaling && !override) return;
if (this._restrictsScaling && !override) return;
if(!point) point = new Point((this._width / 2), (this._height / 2));
if (!point) point = new Point((this._width / 2), (this._height / 2));
if(!offsetPoint) offsetPoint = point;
if (!offsetPoint) offsetPoint = point;
point = this._display.toLocal(point);
if(asDelta)
if (asDelta)
{
this._scale *= scale;
}
@ -339,15 +339,15 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._totalTimeRunning += Nitro.instance.ticker.deltaTime;
if(this._totalTimeRunning === this._renderTimestamp) return;
if (this._totalTimeRunning === this._renderTimestamp) return;
if(time === -1) time = (this._renderTimestamp + 1);
if (time === -1) time = (this._renderTimestamp + 1);
if(!this._container || !this._geometry) return;
if (!this._container || !this._geometry) return;
if((this._width !== this._renderedWidth) || (this._height !== this._renderedHeight)) update = true;
if ((this._width !== this._renderedWidth) || (this._height !== this._renderedHeight)) update = true;
if((this._display.x !== this._screenOffsetX) || (this._display.y !== this._screenOffsetY))
if ((this._display.x !== this._screenOffsetX) || (this._display.y !== this._screenOffsetY))
{
this._display.x = this._screenOffsetX;
this._display.y = this._screenOffsetY;
@ -355,7 +355,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
update = true;
}
if(this._display.scale.x !== this._scale)
if (this._display.scale.x !== this._scale)
{
this._display.scale.set(this._scale);
@ -368,7 +368,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
let updateVisuals = false;
if(frame !== this._lastFrame)
if (frame !== this._lastFrame)
{
this._lastFrame = frame;
@ -379,11 +379,11 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
const objects = this._container.objects;
if(objects.size)
if (objects.size)
{
for(const object of objects.values())
for (const object of objects.values())
{
if(!object) continue;
if (!object) continue;
spriteCount = (spriteCount + this.renderObject(object, object.instanceId.toString(), time, update, updateVisuals, spriteCount));
}
@ -394,25 +394,25 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
return b.z - a.z;
});
if(spriteCount < this._sortableSprites.length)
if (spriteCount < this._sortableSprites.length)
{
this._sortableSprites.splice(spriteCount);
}
let iterator = 0;
while(iterator < spriteCount)
while (iterator < spriteCount)
{
const sprite = this._sortableSprites[iterator];
if(sprite && sprite.sprite) this.renderSprite(iterator, sprite);
if (sprite && sprite.sprite) this.renderSprite(iterator, sprite);
iterator++;
}
this.cleanSprites(spriteCount);
if(update || updateVisuals) this._canvasUpdated = true;
if (update || updateVisuals) this._canvasUpdated = true;
this._renderTimestamp = this._totalTimeRunning;
this._renderedWidth = this._width;
@ -448,11 +448,11 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private renderObject(object: IRoomObject, identifier: string, time: number, update: boolean, updateVisuals: boolean, count: number): number
{
if(!object) return 0;
if (!object) return 0;
const visualization = object.visualization as IRoomObjectSpriteVisualization;
if(!visualization)
if (!visualization)
{
this.removeFromCache(identifier);
@ -467,18 +467,18 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
const vector = locationCache.updateLocation(object, this._geometry);
if(!vector)
if (!vector)
{
this.removeFromCache(identifier);
return 0;
}
if(updateVisuals) visualization.update(this._geometry, time, (!sortableCache.isEmpty || update), (this._skipObjectUpdate && this._runningSlow));
if (updateVisuals) visualization.update(this._geometry, time, (!sortableCache.isEmpty || update), (this._skipObjectUpdate && this._runningSlow));
if(locationCache.locationChanged) update = true;
if (locationCache.locationChanged) update = true;
if(!sortableCache.needsUpdate(visualization.instanceId, visualization.updateSpriteCounter) && !update)
if (!sortableCache.needsUpdate(visualization.instanceId, visualization.updateSpriteCounter) && !update)
{
return sortableCache.spriteCount;
}
@ -487,7 +487,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
let y = vector.y;
let z = vector.z;
if(x > 0) z = (z + (x * 1.2E-7));
if (x > 0) z = (z + (x * 1.2E-7));
else z = (z + (-(x) * 1.2E-7));
x = (x + Math.trunc(this._width / 2));
@ -495,40 +495,40 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
let spriteCount = 0;
for(const sprite of visualization.sprites.values())
for (const sprite of visualization.sprites.values())
{
if(!sprite || !sprite.visible) continue;
if (!sprite || !sprite.visible) continue;
const texture = sprite.texture;
const baseTexture = texture && texture.baseTexture;
if(!texture || !baseTexture) continue;
if (!texture || !baseTexture) continue;
const spriteX = ((x + sprite.offsetX) + this._screenOffsetX);
const spriteY = ((y + sprite.offsetY) + this._screenOffsetY);
if(sprite.flipH)
if (sprite.flipH)
{
const checkX = ((x + (-(texture.width + (-(sprite.offsetX))))) + this._screenOffsetX);
if(!this.isSpriteVisible(checkX, spriteY, texture.width, texture.height)) continue;
if (!this.isSpriteVisible(checkX, spriteY, texture.width, texture.height)) continue;
}
else if(sprite.flipV)
else if (sprite.flipV)
{
const checkY = ((y + (-(texture.height + (-(sprite.offsetY))))) + this._screenOffsetY);
if(!this.isSpriteVisible(spriteX, checkY, texture.width, texture.height)) continue;
if (!this.isSpriteVisible(spriteX, checkY, texture.width, texture.height)) continue;
}
else
{
if(!this.isSpriteVisible(spriteX, spriteY, texture.width, texture.height)) continue;
if (!this.isSpriteVisible(spriteX, spriteY, texture.width, texture.height)) continue;
}
let sortableSprite = sortableCache.getSprite(spriteCount);
if(!sortableSprite)
if (!sortableSprite)
{
sortableSprite = new SortableSprite();
@ -541,7 +541,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
sortableSprite.sprite = sprite;
if((sprite.spriteType === RoomObjectSpriteType.AVATAR) || (sprite.spriteType === RoomObjectSpriteType.AVATAR_OWN))
if ((sprite.spriteType === RoomObjectSpriteType.AVATAR) || (sprite.spriteType === RoomObjectSpriteType.AVATAR_OWN))
{
sortableSprite.sprite.libraryAssetName = 'avatar_' + object.id;
}
@ -563,41 +563,41 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private getExtendedSprite(index: number): ExtendedSprite
{
if((index < 0) || (index >= this._spriteCount)) return null;
if ((index < 0) || (index >= this._spriteCount)) return null;
const sprite = (this._display.getChildAt(index) as ExtendedSprite);
if(!sprite) return null;
if (!sprite) return null;
return sprite;
}
protected getExtendedSpriteIdentifier(sprite: ExtendedSprite): string
{
if(!sprite) return '';
if (!sprite) return '';
return sprite.name;
}
private renderSprite(index: number, sprite: SortableSprite): boolean
{
if(index >= this._spriteCount)
if (index >= this._spriteCount)
{
this.createAndAddSprite(sprite);
return true;
}
if(!sprite) return false;
if (!sprite) return false;
const objectSprite = sprite.sprite;
const extendedSprite = this.getExtendedSprite(index);
if(!objectSprite || !extendedSprite) return false;
if (!objectSprite || !extendedSprite) return false;
if(extendedSprite.varyingDepth !== objectSprite.varyingDepth)
if (extendedSprite.varyingDepth !== objectSprite.varyingDepth)
{
if(extendedSprite.varyingDepth && !objectSprite.varyingDepth)
if (extendedSprite.varyingDepth && !objectSprite.varyingDepth)
{
this._display.removeChildAt(index);
@ -611,7 +611,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
return true;
}
if(extendedSprite.needsUpdate(objectSprite.id, objectSprite.updateCounter) || RoomEnterEffect.isVisualizationOn())
if (extendedSprite.needsUpdate(objectSprite.id, objectSprite.updateCounter) || RoomEnterEffect.isVisualizationOn())
{
extendedSprite.tag = objectSprite.tag;
extendedSprite.alphaTolerance = objectSprite.alphaTolerance;
@ -622,48 +622,48 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
const alpha = (objectSprite.alpha / 255);
if(extendedSprite.alpha !== alpha) extendedSprite.alpha = alpha;
if (extendedSprite.alpha !== alpha) extendedSprite.alpha = alpha;
if(extendedSprite.tint !== objectSprite.color) extendedSprite.tint = objectSprite.color;
if (extendedSprite.tint !== objectSprite.color) extendedSprite.tint = objectSprite.color;
if(extendedSprite.blendMode !== objectSprite.blendMode) extendedSprite.blendMode = objectSprite.blendMode;
if (extendedSprite.blendMode !== objectSprite.blendMode) extendedSprite.blendMode = objectSprite.blendMode;
if(extendedSprite.texture !== objectSprite.texture) extendedSprite.setTexture(objectSprite.texture);
if (extendedSprite.texture !== objectSprite.texture) extendedSprite.setTexture(objectSprite.texture);
if(objectSprite.updateContainer)
if (objectSprite.updateContainer)
{
const length = extendedSprite.children.length;
if(length === 1) extendedSprite.removeChildAt(0);
if (length === 1) extendedSprite.removeChildAt(0);
extendedSprite.addChild(objectSprite.container);
objectSprite.updateContainer = false;
}
if(objectSprite.flipH)
if (objectSprite.flipH)
{
if(extendedSprite.scale.x !== -1) extendedSprite.scale.x = -1;
if (extendedSprite.scale.x !== -1) extendedSprite.scale.x = -1;
}
else
{
if(extendedSprite.scale.x !== 1) extendedSprite.scale.x = 1;
if (extendedSprite.scale.x !== 1) extendedSprite.scale.x = 1;
}
if(objectSprite.flipV)
if (objectSprite.flipV)
{
if(extendedSprite.scale.y !== -1) extendedSprite.scale.y = -1;
if (extendedSprite.scale.y !== -1) extendedSprite.scale.y = -1;
}
else
{
if(extendedSprite.scale.y !== 1) extendedSprite.scale.y = 1;
if (extendedSprite.scale.y !== 1) extendedSprite.scale.y = 1;
}
this.updateEnterRoomEffect(extendedSprite, objectSprite);
}
if(extendedSprite.x !== sprite.x) extendedSprite.x = sprite.x;
if(extendedSprite.y !== sprite.y) extendedSprite.y = sprite.y;
if (extendedSprite.x !== sprite.x) extendedSprite.x = sprite.x;
if (extendedSprite.y !== sprite.y) extendedSprite.y = sprite.y;
extendedSprite.offsetX = objectSprite.offsetX;
extendedSprite.offsetY = objectSprite.offsetY;
@ -675,15 +675,15 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
const sprite = sortableSprite.sprite;
if(!sprite) return;
if (!sprite) return;
let extendedSprite: ExtendedSprite = null;
if(this._spritePool.length > 0) extendedSprite = this._spritePool.pop();
if (this._spritePool.length > 0) extendedSprite = this._spritePool.pop();
if(!extendedSprite) extendedSprite = new ExtendedSprite();
if (!extendedSprite) extendedSprite = new ExtendedSprite();
if(extendedSprite.children.length) extendedSprite.removeChildren();
if (extendedSprite.children.length) extendedSprite.removeChildren();
extendedSprite.tag = sprite.tag;
extendedSprite.alphaTolerance = sprite.alphaTolerance;
@ -701,20 +701,20 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
extendedSprite.setTexture(sprite.texture);
if(sprite.updateContainer)
if (sprite.updateContainer)
{
extendedSprite.addChild(sprite.container);
sprite.updateContainer = false;
}
if(sprite.flipH) extendedSprite.scale.x = -1;
if (sprite.flipH) extendedSprite.scale.x = -1;
if(sprite.flipV) extendedSprite.scale.y = -1;
if (sprite.flipV) extendedSprite.scale.y = -1;
this.updateEnterRoomEffect(extendedSprite, sprite);
if((index < 0) || (index >= this._spriteCount))
if ((index < 0) || (index >= this._spriteCount))
{
this._display.addChild(extendedSprite);
@ -730,15 +730,15 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private cleanSprites(spriteCount: number, _arg_2: boolean = false): void
{
if(!this._display) return;
if (!this._display) return;
if(spriteCount < 0) spriteCount = 0;
if (spriteCount < 0) spriteCount = 0;
if((spriteCount < this._activeSpriteCount) || !this._activeSpriteCount)
if ((spriteCount < this._activeSpriteCount) || !this._activeSpriteCount)
{
let iterator = (this._spriteCount - 1);
while(iterator >= spriteCount)
while (iterator >= spriteCount)
{
this.cleanSprite(this.getExtendedSprite(iterator), _arg_2);
@ -751,9 +751,9 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private updateEnterRoomEffect(sprite: ExtendedSprite, _arg_2: IRoomObjectSprite): void
{
if(!RoomEnterEffect.isVisualizationOn() || !_arg_2) return;
if (!RoomEnterEffect.isVisualizationOn() || !_arg_2) return;
switch(_arg_2.spriteType)
switch (_arg_2.spriteType)
{
case RoomObjectSpriteType.AVATAR_OWN:
return;
@ -770,15 +770,15 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private cleanSprite(sprite: ExtendedSprite, _arg_2: boolean): void
{
if(!sprite) return;
if (!sprite) return;
if(!_arg_2)
if (!_arg_2)
{
sprite.setTexture(null);
}
else
{
if(sprite.parent) sprite.parent.removeChild(sprite);
if (sprite.parent) sprite.parent.removeChild(sprite);
sprite.destroy({
children: true
@ -788,7 +788,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public update(): void
{
if(!this._mouseCheckCount)
if (!this._mouseCheckCount)
{
//this.checkMouseHits(this._mouseLocation.x, this._mouseLocation.y, MouseEventType.MOUSE_MOVE);
}
@ -810,16 +810,16 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private isSpriteVisible(x: number, y: number, width: number, height: number): boolean
{
if(this._noSpriteVisibilityChecking) return true;
if (this._noSpriteVisibilityChecking) return true;
x = (((x - this._screenOffsetX) * this._scale) + this._screenOffsetX);
y = (((y - this._screenOffsetY) * this._scale) + this._screenOffsetY);
width = (width * this._scale);
height = (height * this._scale);
if(((x < this._width) && ((x + width) >= 0)) && ((y < this._height) && ((y + height) >= 0)))
if (((x < this._width) && ((x + width) >= 0)) && ((y < this._height) && ((y + height) >= 0)))
{
if(!this._usesExclusionRectangles) return true;
if (!this._usesExclusionRectangles) return true;
}
return false;
@ -833,7 +833,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._mouseLocation.x = (x / this._scale);
this._mouseLocation.y = (y / this._scale);
if((this._mouseCheckCount > 0) && (type == MouseEventType.MOUSE_MOVE)) return this._mouseSpriteWasHit;
if ((this._mouseCheckCount > 0) && (type == MouseEventType.MOUSE_MOVE)) return this._mouseSpriteWasHit;
this._mouseSpriteWasHit = this.checkMouseHits(Math.trunc(x / this._scale), Math.trunc(y / this._scale), type, altKey, ctrlKey, shiftKey, buttonDown);
@ -850,13 +850,13 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
let mouseEvent: RoomSpriteMouseEvent = null;
let spriteId = (this._activeSpriteCount - 1);
while(spriteId >= 0)
while (spriteId >= 0)
{
const extendedSprite = this.getExtendedSprite(spriteId);
if(extendedSprite && extendedSprite.containsPoint(new Point((x - extendedSprite.x), (y - extendedSprite.y))))
if (extendedSprite && extendedSprite.containsPoint(new Point((x - extendedSprite.x), (y - extendedSprite.y))))
{
if(extendedSprite.clickHandling && ((type === MouseEventType.MOUSE_CLICK) || (type === MouseEventType.DOUBLE_CLICK)))
if (extendedSprite.clickHandling && ((type === MouseEventType.MOUSE_CLICK) || (type === MouseEventType.DOUBLE_CLICK)))
{
//
}
@ -864,15 +864,15 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
const identifier = this.getExtendedSpriteIdentifier(extendedSprite);
if(checkedSprites.indexOf(identifier) === -1)
if (checkedSprites.indexOf(identifier) === -1)
{
const tag = extendedSprite.tag;
let mouseData = this._mouseActiveObjects.get(identifier);
if(mouseData)
if (mouseData)
{
if(mouseData.spriteTag !== tag)
if (mouseData.spriteTag !== tag)
{
mouseEvent = this.createMouseEvent(0, 0, 0, 0, MouseEventType.ROLL_OUT, mouseData.spriteTag, altKey, ctrlKey, shiftKey, buttonDown);
@ -880,7 +880,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
}
}
if((type === MouseEventType.MOUSE_MOVE) && (!mouseData || (mouseData.spriteTag !== tag)))
if ((type === MouseEventType.MOUSE_MOVE) && (!mouseData || (mouseData.spriteTag !== tag)))
{
mouseEvent = this.createMouseEvent(x, y, (x - extendedSprite.x), (y - extendedSprite.y), MouseEventType.ROLL_OVER, tag, altKey, ctrlKey, shiftKey, buttonDown);
}
@ -892,7 +892,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
mouseEvent.spriteOffsetY = extendedSprite.offsetY;
}
if(!mouseData)
if (!mouseData)
{
mouseData = new ObjectMouseData();
@ -902,7 +902,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
mouseData.spriteTag = tag;
if(((type !== MouseEventType.MOUSE_MOVE) || (x !== this._mouseOldX)) || (y !== this._mouseOldY))
if (((type !== MouseEventType.MOUSE_MOVE) || (x !== this._mouseOldX)) || (y !== this._mouseOldY))
{
this.bufferMouseEvent(mouseEvent, identifier);
}
@ -919,30 +919,30 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
const keys: string[] = [];
for(const key of this._mouseActiveObjects.keys()) key && keys.push(key);
for (const key of this._mouseActiveObjects.keys()) key && keys.push(key);
let index = 0;
while(index < keys.length)
while (index < keys.length)
{
const key = keys[index];
if(checkedSprites.indexOf(key) >= 0) keys[index] = null;
if (checkedSprites.indexOf(key) >= 0) keys[index] = null;
index++;
}
index = 0;
while(index < keys.length)
while (index < keys.length)
{
const key = keys[index];
if(key !== null)
if (key !== null)
{
const existing = this._mouseActiveObjects.get(key);
if(existing) this._mouseActiveObjects.delete(key);
if (existing) this._mouseActiveObjects.delete(key);
const mouseEvent = this.createMouseEvent(0, 0, 0, 0, MouseEventType.ROLL_OUT, existing.spriteTag, altKey, ctrlKey, shiftKey, buttonDown);
@ -963,14 +963,14 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
const screenX: number = (x - (this._width / 2));
const screenY: number = (y - (this._height / 2));
const canvasName = `canvas_${ this._id }`;
const canvasName = `canvas_${this._id}`;
return new RoomSpriteMouseEvent(type, ((canvasName + '_') + this._eventId), canvasName, tag, screenX, screenY, localX, localY, ctrlKey, altKey, shiftKey, buttonDown);
}
protected bufferMouseEvent(k: RoomSpriteMouseEvent, _arg_2: string): void
{
if(!k || !this._eventCache) return;
if (!k || !this._eventCache) return;
this._eventCache.delete(_arg_2);
this._eventCache.set(_arg_2, k);
@ -978,19 +978,19 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
protected processMouseEvents(): void
{
if(!this._container || !this._eventCache) return;
if (!this._container || !this._eventCache) return;
for(const [ key, event ] of this._eventCache.entries())
for (const [key, event] of this._eventCache.entries())
{
if(!this._eventCache) return;
if (!this._eventCache) return;
if(!event) continue;
if (!event) continue;
const roomObject = this._container.getRoomObject(parseInt(key));
if(!roomObject) continue;
if (!roomObject) continue;
if(this._mouseListener)
if (this._mouseListener)
{
this._mouseListener.processRoomCanvasMouseEvent(event, roomObject, this._geometry);
}
@ -998,14 +998,14 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
const logic = roomObject.mouseHandler;
if(logic)
if (logic)
{
logic.mouseEvent(event, this._geometry);
}
}
}
if(this._eventCache) this._eventCache.clear();
if (this._eventCache) this._eventCache.clear();
}
public getDisplayAsTexture(): RenderTexture
@ -1048,7 +1048,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
const geometry = (this.geometry as RoomGeometry);
if(this._rotation !== 0)
if (this._rotation !== 0)
{
let direction = this._effectDirection;
@ -1074,18 +1074,18 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
this._effectDirection.assign(geometry.direction);
}
if(RoomShakingEffect.isVisualizationOn() && !this._SafeStr_4507)
if (RoomShakingEffect.isVisualizationOn() && !this._SafeStr_4507)
{
this.changeShaking();
}
else
{
if(!RoomShakingEffect.isVisualizationOn() && this._SafeStr_4507) this.changeShaking();
if (!RoomShakingEffect.isVisualizationOn() && this._SafeStr_4507) this.changeShaking();
}
if(RoomRotatingEffect.isVisualizationOn()) this.changeRotation();
if (RoomRotatingEffect.isVisualizationOn()) this.changeRotation();
if(this._SafeStr_4507)
if (this._SafeStr_4507)
{
this._SafeStr_795++;
@ -1106,7 +1106,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{
this._SafeStr_4507 = !this._SafeStr_4507;
if(this._SafeStr_4507)
if (this._SafeStr_4507)
{
const direction = this.geometry.direction;
@ -1116,13 +1116,13 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
private changeRotation(): void
{
if(this._SafeStr_4507) return;
if (this._SafeStr_4507) return;
const geometry = (this.geometry as RoomGeometry);
if(!geometry) return;
if (!geometry) return;
if(this._rotation === 0)
if (this._rotation === 0)
{
const location = geometry.location;
const directionAxis = geometry.directionAxis;
@ -1134,7 +1134,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
const intersection = RoomGeometry.getIntersectionVector(location, directionAxis, new Vector3d(0, 0, 0), new Vector3d(0, 0, 1));
if(intersection !== null)
if (intersection !== null)
{
this._rotationOrigin = new Vector3d(intersection.x, intersection.y, intersection.z);
this._rotationRodLength = Vector3d.dif(intersection, location).length;
@ -1153,9 +1153,9 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public moveLeft(): void
{
if(this._rotation !== 0)
if (this._rotation !== 0)
{
if(this._rotation === 1)
if (this._rotation === 1)
{
this._rotation = -1;
}
@ -1175,9 +1175,9 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public moveRight(): void
{
if(this._rotation !== 0)
if (this._rotation !== 0)
{
if(this._rotation === -1)
if (this._rotation === -1)
{
this._rotation = 1;
}
@ -1197,7 +1197,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public moveUp(): void
{
if(this._rotation !== 0) return;
if (this._rotation !== 0) return;
const geometry = (this.geometry as RoomGeometry);
const direction = ((geometry.direction.x / 180) * 3.14159265358979);
@ -1207,7 +1207,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
public moveDown(): void
{
if(this._rotation !== 0) return;
if (this._rotation !== 0) return;
const geometry = (this.geometry as RoomGeometry);
const direction = (((geometry.direction.x + 180) / 180) * 3.14159265358979);

View File

@ -2,7 +2,7 @@ import { BLEND_MODES } from '@pixi/constants';
import { BaseTexture, RenderTexture, Resource, Texture } from '@pixi/core';
import { Point } from '@pixi/math';
import { Sprite } from '@pixi/sprite';
import { NitroSprite } from '../../../core';
import { NitroSprite } from '../../../pixi-proxy';
import { TextureUtils } from '../../utils';
export class ExtendedSprite extends Sprite
@ -36,7 +36,7 @@ export class ExtendedSprite extends Sprite
public needsUpdate(pairedSpriteId: number, pairedSpriteUpdateCounter: number): boolean
{
if((this._pairedSpriteId === pairedSpriteId) && (this._pairedSpriteUpdateCounter === pairedSpriteUpdateCounter)) return false;
if ((this._pairedSpriteId === pairedSpriteId) && (this._pairedSpriteUpdateCounter === pairedSpriteUpdateCounter)) return false;
this._pairedSpriteId = pairedSpriteId;
this._pairedSpriteUpdateCounter = pairedSpriteUpdateCounter;
@ -46,18 +46,18 @@ export class ExtendedSprite extends Sprite
public calculateVertices(): void
{
if(!this.texture.orig) return;
if (!this.texture.orig) return;
super.calculateVertices();
}
public setTexture(texture: Texture<Resource>): void
{
if(!texture) texture = Texture.EMPTY;
if (!texture) texture = Texture.EMPTY;
if(texture === this.texture) return;
if (texture === this.texture) return;
if(texture === Texture.EMPTY)
if (texture === Texture.EMPTY)
{
this._pairedSpriteId = -1;
this._pairedSpriteUpdateCounter = -1;
@ -73,31 +73,31 @@ export class ExtendedSprite extends Sprite
public static containsPoint(sprite: ExtendedSprite, point: Point): boolean
{
if(!sprite || !point || (sprite.alphaTolerance > 255)) return false;
if (!sprite || !point || (sprite.alphaTolerance > 255)) return false;
if(!(sprite instanceof Sprite)) return false;
if (!(sprite instanceof Sprite)) return false;
if((sprite.texture === Texture.EMPTY) || (sprite.blendMode !== BLEND_MODES.NORMAL)) return;
if ((sprite.texture === Texture.EMPTY) || (sprite.blendMode !== BLEND_MODES.NORMAL)) return;
const texture = sprite.texture;
const baseTexture = texture.baseTexture;
if(!texture || !baseTexture || !baseTexture.valid) return false;
if (!texture || !baseTexture || !baseTexture.valid) return false;
const x = (point.x * sprite.scale.x);
const y = (point.y * sprite.scale.y);
if(!sprite.getLocalBounds().contains(x, y)) return false;
if (!sprite.getLocalBounds().contains(x, y)) return false;
//@ts-ignore
if(!baseTexture.hitMap)
if (!baseTexture.hitMap)
{
let canvas: HTMLCanvasElement = null;
if(!baseTexture.resource)
if (!baseTexture.resource)
{
//@ts-ignore
if(!texture.getLocalBounds)
if (!texture.getLocalBounds)
{
const tempSprite = new NitroSprite(texture);
@ -111,7 +111,7 @@ export class ExtendedSprite extends Sprite
}
}
if(!ExtendedSprite.generateHitMap(baseTexture, canvas)) return false;
if (!ExtendedSprite.generateHitMap(baseTexture, canvas)) return false;
}
//@ts-ignore
@ -120,7 +120,7 @@ export class ExtendedSprite extends Sprite
let dx = (x + texture.frame.x);
let dy = (y + texture.frame.y);
if(texture.trim)
if (texture.trim)
{
dx -= texture.trim.x;
dy -= texture.trim.y;
@ -141,27 +141,27 @@ export class ExtendedSprite extends Sprite
let canvas: HTMLCanvasElement = null;
let context: CanvasRenderingContext2D = null;
if(tempCanvas)
if (tempCanvas)
{
canvas = tempCanvas;
context = canvas.getContext('2d');
}
else
{
if(!baseTexture.resource) return false;
if (!baseTexture.resource) return false;
//@ts-ignore
const source = baseTexture.resource.source as HTMLCanvasElement;
if(!source) return false;
if (!source) return false;
if(source.getContext)
if (source.getContext)
{
canvas = source;
context = canvas.getContext('2d');
}
else if(source instanceof Image)
else if (source instanceof Image)
{
canvas = document.createElement('canvas');
canvas.width = source.width;
@ -181,12 +181,12 @@ export class ExtendedSprite extends Sprite
const hitmap = new Uint32Array(Math.ceil(width * height / 32));
const threshold = 128;
for(let i = 0; i < width * height; i++)
for (let i = 0; i < width * height; i++)
{
const ind1 = i % 32;
const ind2 = i / 32 | 0;
if(imageData.data[i * 4 + 3] >= threshold)
if (imageData.data[i * 4 + 3] >= threshold)
{
hitmap[ind2] = hitmap[ind2] | (1 << ind1);
}