You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 15:06:20 +00:00
🆙 Small updates
This commit is contained in:
@@ -293,6 +293,13 @@ export class AvatarImage implements IAvatarImage, IAvatarEffectListener
|
||||
clear: true
|
||||
});
|
||||
|
||||
for(const child of container.children)
|
||||
{
|
||||
child.removeChildren();
|
||||
}
|
||||
|
||||
container.destroy({ children: true });
|
||||
|
||||
//@ts-ignore
|
||||
this._activeTexture.source.hitMap = null;
|
||||
|
||||
|
||||
@@ -1101,14 +1101,19 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement
|
||||
|
||||
if(oppositeDirection !== currentDirection)
|
||||
{
|
||||
const highlightEnabled = ((this.object.model.getValue<number>(RoomObjectVariable.FIGURE_HIGHLIGHT_ENABLE) === 1) && (this.object.model.getValue<number>(RoomObjectVariable.FIGURE_HIGHLIGHT) === 1));
|
||||
|
||||
this._avatarImage.setDirection(AvatarSetType.FULL, oppositeDirection);
|
||||
|
||||
const renderedOpposite = (this._avatarImage.processAsTexture(AvatarSetType.FULL, highlightEnabled) || sprite.texture);
|
||||
|
||||
if((this._reflectionOppositeDirection !== currentDirection) || (this._reflectionOppositeBaseTexture !== sprite.texture) || !this._reflectionOppositeTexture)
|
||||
// Reuse the cached opposite texture if direction and base texture haven't changed
|
||||
if(this._reflectionOppositeTexture && (this._reflectionOppositeDirection === currentDirection) && (this._reflectionOppositeBaseTexture === sprite.texture))
|
||||
{
|
||||
oppositeTexture = this._reflectionOppositeTexture;
|
||||
}
|
||||
else
|
||||
{
|
||||
const highlightEnabled = ((this.object.model.getValue<number>(RoomObjectVariable.FIGURE_HIGHLIGHT_ENABLE) === 1) && (this.object.model.getValue<number>(RoomObjectVariable.FIGURE_HIGHLIGHT) === 1));
|
||||
|
||||
this._avatarImage.setDirection(AvatarSetType.FULL, oppositeDirection);
|
||||
|
||||
const renderedOpposite = (this._avatarImage.processAsTexture(AvatarSetType.FULL, highlightEnabled) || sprite.texture);
|
||||
|
||||
if(this._reflectionOppositeTexture)
|
||||
{
|
||||
this._reflectionOppositeTexture.destroy(true);
|
||||
@@ -1118,15 +1123,15 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement
|
||||
this._reflectionOppositeTexture = this.cloneTexture(renderedOpposite);
|
||||
this._reflectionOppositeDirection = currentDirection;
|
||||
this._reflectionOppositeBaseTexture = sprite.texture;
|
||||
|
||||
oppositeTexture = (this._reflectionOppositeTexture || renderedOpposite);
|
||||
|
||||
// Restore the live avatar direction and refresh the current texture so
|
||||
// movement updates do not keep showing the opposite-facing texture.
|
||||
this._avatarImage.setDirection(AvatarSetType.FULL, currentDirection);
|
||||
|
||||
sprite.texture = (this._avatarImage.processAsTexture(AvatarSetType.FULL, highlightEnabled) || sprite.texture);
|
||||
}
|
||||
|
||||
oppositeTexture = (this._reflectionOppositeTexture || renderedOpposite);
|
||||
|
||||
// Restore the live avatar direction and refresh the current texture so
|
||||
// movement updates do not keep showing the opposite-facing texture.
|
||||
this._avatarImage.setDirection(AvatarSetType.FULL, currentDirection);
|
||||
|
||||
sprite.texture = (this._avatarImage.processAsTexture(AvatarSetType.FULL, highlightEnabled) || sprite.texture);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -741,6 +741,7 @@ export class RoomPlane implements IRoomPlane
|
||||
});
|
||||
|
||||
animationCanvas.destroy(true);
|
||||
animContainer.destroy({ children: true });
|
||||
}
|
||||
|
||||
private renderLandscapeLayer(texture: Texture, tint: number, alignBottom: boolean): void
|
||||
@@ -798,7 +799,7 @@ export class RoomPlane implements IRoomPlane
|
||||
clear: false
|
||||
});
|
||||
|
||||
layerSprite.destroy();
|
||||
layerContainer.destroy({ children: true });
|
||||
}
|
||||
|
||||
private renderBackgroundColor(): void
|
||||
@@ -826,7 +827,7 @@ export class RoomPlane implements IRoomPlane
|
||||
clear: true
|
||||
});
|
||||
|
||||
colorGraphics.destroy();
|
||||
colorContainer.destroy({ children: true });
|
||||
}
|
||||
|
||||
private clearPlaneTexture(): void
|
||||
@@ -838,12 +839,16 @@ export class RoomPlane implements IRoomPlane
|
||||
|
||||
if(canvasWidth <= 0 || canvasHeight <= 0)
|
||||
{
|
||||
const emptyContainer = new Container();
|
||||
|
||||
GetRenderer().render({
|
||||
target: this._planeTexture,
|
||||
container: new Container(),
|
||||
container: emptyContainer,
|
||||
clear: true
|
||||
});
|
||||
|
||||
emptyContainer.destroy();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -863,7 +868,7 @@ export class RoomPlane implements IRoomPlane
|
||||
clear: true
|
||||
});
|
||||
|
||||
colorGraphics.destroy();
|
||||
colorContainer.destroy({ children: true });
|
||||
}
|
||||
|
||||
private renderWindowReflections(): void
|
||||
|
||||
+1
@@ -154,5 +154,6 @@ export class PlaneVisualizationAnimationLayer
|
||||
const sprite = new Sprite(item.bitmapData.texture);
|
||||
sprite.position.set(x, y);
|
||||
TextureUtils.writeToTexture(sprite, canvas, false);
|
||||
sprite.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user