@pixi-spine/loader-uni
Version:
Pixi integration with EsotericSoftware Spine, big, contains all runtimes
11 lines (10 loc) • 2.59 kB
JavaScript
/*!
* @pixi-spine/loader-uni - v4.0.6
* Compiled Mon, 24 Mar 2025 11:45:24 UTC
*
* @pixi-spine/loader-uni is licensed under the MIT License.
* http://www.opensource.org/licenses/mit-license
*
* Copyright 2025, Mat Groves, All Rights Reserved
*/import{SpineLoaderAbstract as V}from"@pixi-spine/loader-base";import{BinaryInput as m,SpineBase as S}from"@pixi-spine/base";import*as i from"@pixi-spine/runtime-3.8";import*as p from"@pixi-spine/runtime-3.7";import*as l from"@pixi-spine/runtime-4.1";var s=(a=>(a[a.UNKNOWN=0]="UNKNOWN",a[a.VER37=37]="VER37",a[a.VER38=38]="VER38",a[a.VER40=40]="VER40",a[a.VER41=41]="VER41",a))(s||{});function c(a){const t=a.substr(0,3),n=Math.floor(Number(t)*10+.001);return t==="3.7"?37:t==="3.8"?38:t==="4.0"?40:t==="4.1"?41:n<37?37:0}class u{constructor(){this.scale=1}readSkeletonData(t,n){let e=null,r=this.readVersionOldFormat(n),o=c(r);if(o===s.VER38&&(e=new i.SkeletonBinary(new i.AtlasAttachmentLoader(t))),r=this.readVersionNewFormat(n),o=c(r),(o===s.VER40||o===s.VER41)&&(e=new l.SkeletonBinary(new l.AtlasAttachmentLoader(t))),!e){const d=`Unsupported version of spine model ${r}, please update pixi-spine`;console.error(d)}return e.scale=this.scale,e.readSkeletonData(n)}readVersionOldFormat(t){const n=new m(t);let e;try{n.readString(),e=n.readString()}catch(r){e=""}return e||""}readVersionNewFormat(t){const n=new m(t);n.readInt32(),n.readInt32();let e;try{e=n.readString()}catch(r){e=""}return e||""}}class E{constructor(){this.scale=1}readSkeletonData(t,n){const e=n.skeleton.spine,r=c(e);let o=null;if(r===s.VER37&&(o=new p.SkeletonJson(new p.AtlasAttachmentLoader(t))),r===s.VER38&&(o=new i.SkeletonJson(new i.AtlasAttachmentLoader(t))),(r===s.VER40||r===s.VER41)&&(o=new l.SkeletonJson(new l.AtlasAttachmentLoader(t))),!o){const d=`Unsupported version of spine model ${e}, please update pixi-spine`;console.error(d)}return o.scale=this.scale,o.readSkeletonData(n)}}class w extends V{createBinaryParser(){return new u}createJsonParser(){return new E}parseData(t,n,e){return{spineData:t.readSkeletonData(n,e),spineAtlas:n}}}class R extends S{createSkeleton(t){const n=c(t.version);let e=null;if(n===s.VER37&&(e=p),n===s.VER38&&(e=i),(n===s.VER40||n===s.VER41)&&(e=l),!e){const r=`Cant detect version of spine model ${t.version}`;console.error(r)}this.skeleton=new e.Skeleton(t),this.skeleton.updateWorldTransform(),this.stateData=new e.AnimationStateData(t),this.state=new e.AnimationState(this.stateData)}}new w().installLoader();export{s as SPINE_VERSION,R as Spine,c as detectSpineVersion};
//# sourceMappingURL=loader-uni.mjs.map