From 50e3b405b52bab56615cf44e818669b324e11e43 Mon Sep 17 00:00:00 2001 From: Mat Groves Date: Wed, 18 Dec 2024 13:23:36 +0000 Subject: [PATCH] [ts][pixi-v8] Fix: pixi v8 bug in validate renderables (#2717) * Update SpinePipe.ts * fix a little spine issue --- spine-ts/spine-pixi-v8/src/Spine.ts | 3 ++- spine-ts/spine-pixi-v8/src/SpinePipe.ts | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/spine-ts/spine-pixi-v8/src/Spine.ts b/spine-ts/spine-pixi-v8/src/Spine.ts index ced562b756..e73b3d07cb 100644 --- a/spine-ts/spine-pixi-v8/src/Spine.ts +++ b/spine-ts/spine-pixi-v8/src/Spine.ts @@ -377,6 +377,7 @@ export class Spine extends ViewContainer { } private validateAttachments () { + const currentDrawOrder = this.skeleton.drawOrder; const lastAttachments = this._lastAttachments; @@ -404,7 +405,7 @@ export class Spine extends ViewContainer { lastAttachments.length = index; } - this.spineAttachmentsDirty = spineAttachmentsDirty; + this.spineAttachmentsDirty ||= spineAttachmentsDirty; } private updateAndSetPixiMask (slot: Slot, last: boolean) { diff --git a/spine-ts/spine-pixi-v8/src/SpinePipe.ts b/spine-ts/spine-pixi-v8/src/SpinePipe.ts index 732c448d4c..1201a8688b 100644 --- a/spine-ts/spine-pixi-v8/src/SpinePipe.ts +++ b/spine-ts/spine-pixi-v8/src/SpinePipe.ts @@ -117,6 +117,9 @@ export class SpinePipe implements RenderPipe { spine._validateAndTransformAttachments(); + spine.spineAttachmentsDirty = false; + spine.spineTexturesDirty = false; + for (let i = 0, n = drawOrder.length; i < n; i++) { const slot = drawOrder[i]; const attachment = slot.getAttachment(); @@ -154,6 +157,9 @@ export class SpinePipe implements RenderPipe { const gpuSpine = this.gpuSpineData[spine.uid]; spine._validateAndTransformAttachments(); + + spine.spineAttachmentsDirty = false; + spine.spineTexturesDirty = false; const drawOrder = spine.skeleton.drawOrder;