@pixi-spine/runtime-3.8
Version:
Pixi runtime for spine 3.8 models
1 lines • 13.8 kB
Source Map (JSON)
{"version":3,"file":"RegionAttachment.mjs","sources":["../../../src/core/attachments/RegionAttachment.ts"],"sourcesContent":["import { Attachment } from './Attachment';\nimport { AttachmentType, ArrayLike, Color, TextureRegion, Utils, IRegionAttachment } from '@pixi-spine/base';\n\nimport type { Bone } from '../Bone';\nimport { Slot } from '../Slot';\n\n/**\n * @public\n */\nexport class RegionAttachment extends Attachment implements IRegionAttachment {\n type = AttachmentType.Region;\n\n static OX1 = 0;\n static OY1 = 1;\n static OX2 = 2;\n static OY2 = 3;\n static OX3 = 4;\n static OY3 = 5;\n static OX4 = 6;\n static OY4 = 7;\n\n static X1 = 0;\n static Y1 = 1;\n static C1R = 2;\n static C1G = 3;\n static C1B = 4;\n static C1A = 5;\n static U1 = 6;\n static V1 = 7;\n\n static X2 = 8;\n static Y2 = 9;\n static C2R = 10;\n static C2G = 11;\n static C2B = 12;\n static C2A = 13;\n static U2 = 14;\n static V2 = 15;\n\n static X3 = 16;\n static Y3 = 17;\n static C3R = 18;\n static C3G = 19;\n static C3B = 20;\n static C3A = 21;\n static U3 = 22;\n static V3 = 23;\n\n static X4 = 24;\n static Y4 = 25;\n static C4R = 26;\n static C4G = 27;\n static C4B = 28;\n static C4A = 29;\n static U4 = 30;\n static V4 = 31;\n\n x = 0;\n y = 0;\n scaleX = 1;\n scaleY = 1;\n rotation = 0;\n width = 0;\n height = 0;\n color = new Color(1, 1, 1, 1);\n\n path: string;\n rendererObject: any;\n region: TextureRegion;\n\n offset = Utils.newFloatArray(8);\n uvs = Utils.newFloatArray(8);\n\n tempColor = new Color(1, 1, 1, 1);\n\n constructor(name: string) {\n super(name);\n }\n\n updateOffset(): void {\n const regionScaleX = (this.width / this.region.originalWidth) * this.scaleX;\n const regionScaleY = (this.height / this.region.originalHeight) * this.scaleY;\n const localX = (-this.width / 2) * this.scaleX + this.region.offsetX * regionScaleX;\n const localY = (-this.height / 2) * this.scaleY + this.region.offsetY * regionScaleY;\n const localX2 = localX + this.region.width * regionScaleX;\n const localY2 = localY + this.region.height * regionScaleY;\n const radians = (this.rotation * Math.PI) / 180;\n const cos = Math.cos(radians);\n const sin = Math.sin(radians);\n const localXCos = localX * cos + this.x;\n const localXSin = localX * sin;\n const localYCos = localY * cos + this.y;\n const localYSin = localY * sin;\n const localX2Cos = localX2 * cos + this.x;\n const localX2Sin = localX2 * sin;\n const localY2Cos = localY2 * cos + this.y;\n const localY2Sin = localY2 * sin;\n const offset = this.offset;\n\n offset[RegionAttachment.OX1] = localXCos - localYSin;\n offset[RegionAttachment.OY1] = localYCos + localXSin;\n offset[RegionAttachment.OX2] = localXCos - localY2Sin;\n offset[RegionAttachment.OY2] = localY2Cos + localXSin;\n offset[RegionAttachment.OX3] = localX2Cos - localY2Sin;\n offset[RegionAttachment.OY3] = localY2Cos + localX2Sin;\n offset[RegionAttachment.OX4] = localX2Cos - localYSin;\n offset[RegionAttachment.OY4] = localYCos + localX2Sin;\n }\n\n setRegion(region: TextureRegion): void {\n this.region = region;\n const uvs = this.uvs;\n\n if (region.rotate) {\n uvs[2] = region.u;\n uvs[3] = region.v2;\n uvs[4] = region.u;\n uvs[5] = region.v;\n uvs[6] = region.u2;\n uvs[7] = region.v;\n uvs[0] = region.u2;\n uvs[1] = region.v2;\n } else {\n uvs[0] = region.u;\n uvs[1] = region.v2;\n uvs[2] = region.u;\n uvs[3] = region.v;\n uvs[4] = region.u2;\n uvs[5] = region.v;\n uvs[6] = region.u2;\n uvs[7] = region.v2;\n }\n }\n\n computeWorldVertices(bone: Bone | Slot, worldVertices: ArrayLike<number>, offset: number, stride: number) {\n const vertexOffset = this.offset;\n const mat = bone instanceof Slot ? bone.bone.matrix : bone.matrix;\n const x = mat.tx;\n const y = mat.ty;\n const a = mat.a;\n const b = mat.c;\n const c = mat.b;\n const d = mat.d;\n let offsetX = 0;\n let offsetY = 0;\n\n offsetX = vertexOffset[RegionAttachment.OX1];\n offsetY = vertexOffset[RegionAttachment.OY1];\n worldVertices[offset] = offsetX * a + offsetY * b + x; // br\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n offset += stride;\n\n offsetX = vertexOffset[RegionAttachment.OX2];\n offsetY = vertexOffset[RegionAttachment.OY2];\n worldVertices[offset] = offsetX * a + offsetY * b + x; // bl\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n offset += stride;\n\n offsetX = vertexOffset[RegionAttachment.OX3];\n offsetY = vertexOffset[RegionAttachment.OY3];\n worldVertices[offset] = offsetX * a + offsetY * b + x; // ul\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n offset += stride;\n\n offsetX = vertexOffset[RegionAttachment.OX4];\n offsetY = vertexOffset[RegionAttachment.OY4];\n worldVertices[offset] = offsetX * a + offsetY * b + x; // ur\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n }\n\n copy(): Attachment {\n const copy = new RegionAttachment(this.name);\n\n copy.region = this.region;\n copy.rendererObject = this.rendererObject;\n copy.path = this.path;\n copy.x = this.x;\n copy.y = this.y;\n copy.scaleX = this.scaleX;\n copy.scaleY = this.scaleY;\n copy.rotation = this.rotation;\n copy.width = this.width;\n copy.height = this.height;\n Utils.arrayCopy(this.uvs, 0, copy.uvs, 0, 8);\n Utils.arrayCopy(this.offset, 0, copy.offset, 0, 8);\n copy.color.setFromColor(this.color);\n\n return copy;\n }\n}\n"],"names":[],"mappings":"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"}