@esotericsoftware/spine-core 4.2.117 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Animation.d.ts +426 -274
- package/dist/Animation.js +1174 -1210
- package/dist/AnimationState.d.ts +246 -201
- package/dist/AnimationState.js +508 -471
- package/dist/AnimationStateData.d.ts +12 -10
- package/dist/AnimationStateData.js +19 -20
- package/dist/AssetManagerBase.d.ts +27 -21
- package/dist/AssetManagerBase.js +67 -43
- package/dist/AtlasAttachmentLoader.d.ts +18 -12
- package/dist/AtlasAttachmentLoader.js +28 -39
- package/dist/Bone.d.ts +15 -109
- package/dist/Bone.js +22 -362
- package/dist/BoneData.d.ts +13 -28
- package/dist/BoneData.js +20 -29
- package/dist/BonePose.d.ts +132 -0
- package/dist/BonePose.js +456 -0
- package/dist/Constraint.d.ts +41 -0
- package/dist/Constraint.js +38 -0
- package/dist/ConstraintData.d.ts +16 -5
- package/dist/ConstraintData.js +15 -9
- package/dist/DrawOrder.d.ts +48 -0
- package/dist/DrawOrder.js +64 -0
- package/dist/Event.d.ts +11 -6
- package/dist/Event.js +10 -5
- package/dist/EventData.d.ts +10 -6
- package/dist/EventData.js +18 -7
- package/dist/IkConstraint.d.ts +23 -28
- package/dist/IkConstraint.js +122 -124
- package/dist/IkConstraintData.d.ts +14 -19
- package/dist/IkConstraintData.js +22 -23
- package/dist/IkConstraintPose.d.ts +49 -0
- package/dist/IkConstraintPose.js +55 -0
- package/dist/PathConstraint.d.ts +18 -23
- package/dist/PathConstraint.js +162 -139
- package/dist/PathConstraintData.d.ts +11 -14
- package/dist/PathConstraintData.js +14 -16
- package/dist/PathConstraintPose.d.ts +43 -0
- package/dist/PathConstraintPose.js +49 -0
- package/dist/Physics.d.ts +39 -0
- package/dist/Physics.js +41 -0
- package/dist/PhysicsConstraint.d.ts +26 -30
- package/dist/PhysicsConstraint.js +114 -94
- package/dist/PhysicsConstraintData.d.ts +28 -13
- package/dist/PhysicsConstraintData.js +35 -13
- package/dist/PhysicsConstraintPose.d.ts +47 -0
- package/dist/PhysicsConstraintPose.js +55 -0
- package/dist/Pose.d.ts +33 -0
- package/dist/Pose.js +30 -0
- package/dist/Posed.d.ts +58 -0
- package/dist/Posed.js +78 -0
- package/dist/PosedActive.d.ts +41 -0
- package/dist/{attachments/HasTextureRegion.js → PosedActive.js} +17 -2
- package/dist/PosedData.d.ts +40 -0
- package/dist/PosedData.js +45 -0
- package/dist/Skeleton.d.ts +110 -99
- package/dist/Skeleton.js +271 -449
- package/dist/SkeletonBinary.d.ts +1 -1
- package/dist/SkeletonBinary.js +655 -466
- package/dist/SkeletonBounds.d.ts +4 -4
- package/dist/SkeletonBounds.js +45 -46
- package/dist/SkeletonClipping.d.ts +26 -22
- package/dist/SkeletonClipping.js +654 -340
- package/dist/SkeletonData.d.ts +18 -35
- package/dist/SkeletonData.js +57 -97
- package/dist/SkeletonJson.d.ts +8 -6
- package/dist/SkeletonJson.js +895 -640
- package/dist/SkeletonRendererCore.d.ts +58 -0
- package/dist/SkeletonRendererCore.js +310 -0
- package/dist/Skin.d.ts +20 -16
- package/dist/Skin.js +58 -53
- package/dist/Slider.d.ts +46 -0
- package/dist/Slider.js +115 -0
- package/dist/SliderData.d.ts +58 -0
- package/dist/SliderData.js +59 -0
- package/dist/SliderPose.d.ts +37 -0
- package/dist/SliderPose.js +40 -0
- package/dist/Slot.d.ts +16 -38
- package/dist/Slot.js +37 -60
- package/dist/SlotData.d.ts +5 -12
- package/dist/SlotData.js +7 -15
- package/dist/SlotPose.d.ts +59 -0
- package/dist/SlotPose.js +81 -0
- package/dist/Texture.d.ts +1 -0
- package/dist/Texture.js +2 -1
- package/dist/TextureAtlas.d.ts +3 -3
- package/dist/TextureAtlas.js +49 -49
- package/dist/TransformConstraint.d.ts +16 -28
- package/dist/TransformConstraint.js +72 -209
- package/dist/TransformConstraintData.d.ts +108 -20
- package/dist/TransformConstraintData.js +274 -24
- package/dist/TransformConstraintPose.d.ts +45 -0
- package/dist/TransformConstraintPose.js +52 -0
- package/dist/Triangulator.d.ts +1 -1
- package/dist/Triangulator.js +91 -107
- package/dist/{Updatable.d.ts → Update.d.ts} +5 -12
- package/dist/Update.js +30 -0
- package/dist/Utils.d.ts +14 -3
- package/dist/Utils.js +80 -37
- package/dist/attachments/Attachment.d.ts +27 -19
- package/dist/attachments/Attachment.js +59 -35
- package/dist/attachments/AttachmentLoader.d.ts +14 -14
- package/dist/attachments/AttachmentLoader.js +1 -1
- package/dist/attachments/BoundingBoxAttachment.d.ts +1 -1
- package/dist/attachments/BoundingBoxAttachment.js +2 -2
- package/dist/attachments/ClippingAttachment.d.ts +10 -3
- package/dist/attachments/ClippingAttachment.js +12 -3
- package/dist/attachments/{HasTextureRegion.d.ts → HasSequence.d.ts} +11 -14
- package/dist/attachments/HasSequence.js +30 -0
- package/dist/attachments/MeshAttachment.d.ts +28 -35
- package/dist/attachments/MeshAttachment.js +85 -97
- package/dist/attachments/PathAttachment.d.ts +3 -3
- package/dist/attachments/PathAttachment.js +6 -6
- package/dist/attachments/PointAttachment.d.ts +11 -6
- package/dist/attachments/PointAttachment.js +8 -3
- package/dist/attachments/RegionAttachment.d.ts +25 -27
- package/dist/attachments/RegionAttachment.js +101 -113
- package/dist/attachments/Sequence.d.ts +31 -6
- package/dist/attachments/Sequence.js +79 -13
- package/dist/esm/spine-core.min.mjs +2 -2
- package/dist/esm/spine-core.mjs +7747 -6116
- package/dist/esm/spine-core.mjs.map +4 -4
- package/dist/iife/spine-core.js +7747 -6116
- package/dist/iife/spine-core.js.map +4 -4
- package/dist/iife/spine-core.min.js +2 -2
- package/dist/index.d.ts +32 -11
- package/dist/index.js +33 -12
- package/dist/polyfills.js +4 -5
- package/package.json +1 -1
- package/dist/Updatable.js +0 -30
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { Animation } from "./Animation.js";
|
|
30
|
-
import { SkeletonData } from "./SkeletonData.js";
|
|
31
|
-
import { StringMap } from "./Utils.js";
|
|
32
|
-
/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */
|
|
29
|
+
import type { Animation } from "./Animation.js";
|
|
30
|
+
import type { SkeletonData } from "./SkeletonData.js";
|
|
31
|
+
import type { StringMap } from "./Utils.js";
|
|
32
|
+
/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed on the same track. */
|
|
33
33
|
export declare class AnimationStateData {
|
|
34
34
|
/** The SkeletonData to look up animations when they are specified by name. */
|
|
35
35
|
skeletonData: SkeletonData;
|
|
@@ -39,13 +39,15 @@ export declare class AnimationStateData {
|
|
|
39
39
|
constructor(skeletonData: SkeletonData);
|
|
40
40
|
/** Sets a mix duration by animation name.
|
|
41
41
|
*
|
|
42
|
-
* See {@link
|
|
43
|
-
setMix(fromName: string,
|
|
42
|
+
* See {@link setMix}. */
|
|
43
|
+
setMix(fromName: string, to: string, duration: number): void;
|
|
44
44
|
/** Sets the mix duration when changing from the specified animation to the other.
|
|
45
45
|
*
|
|
46
|
-
* See {@link TrackEntry
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
* See {@link TrackEntry.mixDuration}. */
|
|
47
|
+
setMix(from: Animation, to: Animation, duration: number): void;
|
|
48
|
+
private setMix1;
|
|
49
|
+
private setMix2;
|
|
50
|
+
/** Returns the mix duration to use when changing from the specified animation to the other on the same track, or the
|
|
51
|
+
* {@link defaultMix} if no mix duration has been set. */
|
|
50
52
|
getMix(from: Animation, to: Animation): number;
|
|
51
53
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */
|
|
29
|
+
/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed on the same track. */
|
|
30
30
|
export class AnimationStateData {
|
|
31
31
|
/** The SkeletonData to look up animations when they are specified by name. */
|
|
32
32
|
skeletonData;
|
|
@@ -38,35 +38,34 @@ export class AnimationStateData {
|
|
|
38
38
|
throw new Error("skeletonData cannot be null.");
|
|
39
39
|
this.skeletonData = skeletonData;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
setMix(from, to, duration) {
|
|
42
|
+
if (typeof from === "string")
|
|
43
|
+
return this.setMix1(from, to, duration);
|
|
44
|
+
return this.setMix2(from, to, duration);
|
|
45
|
+
}
|
|
46
|
+
setMix1(fromName, toName, duration) {
|
|
47
|
+
const from = this.skeletonData.findAnimation(fromName);
|
|
46
48
|
if (!from)
|
|
47
|
-
throw new Error(
|
|
48
|
-
|
|
49
|
+
throw new Error(`Animation not found: ${fromName}`);
|
|
50
|
+
const to = this.skeletonData.findAnimation(toName);
|
|
49
51
|
if (!to)
|
|
50
|
-
throw new Error(
|
|
51
|
-
this.
|
|
52
|
+
throw new Error(`Animation not found: ${toName}`);
|
|
53
|
+
this.setMix2(from, to, duration);
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
*
|
|
55
|
-
* See {@link TrackEntry#mixDuration}. */
|
|
56
|
-
setMixWith(from, to, duration) {
|
|
55
|
+
setMix2(from, to, duration) {
|
|
57
56
|
if (!from)
|
|
58
57
|
throw new Error("from cannot be null.");
|
|
59
58
|
if (!to)
|
|
60
59
|
throw new Error("to cannot be null.");
|
|
61
|
-
|
|
60
|
+
const key = `${from.name}.${to.name}`;
|
|
62
61
|
this.animationToMixTime[key] = duration;
|
|
63
62
|
}
|
|
64
|
-
/** Returns the mix duration to use when changing from the specified animation to the other
|
|
65
|
-
|
|
63
|
+
/** Returns the mix duration to use when changing from the specified animation to the other on the same track, or the
|
|
64
|
+
* {@link defaultMix} if no mix duration has been set. */
|
|
66
65
|
getMix(from, to) {
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
const key = `${from.name}.${to.name}`;
|
|
67
|
+
const value = this.animationToMixTime[key];
|
|
69
68
|
return value === undefined ? this.defaultMix : value;
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5pbWF0aW9uU3RhdGVEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0FuaW1hdGlvblN0YXRlRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFRL0UsMkhBQTJIO0FBQzNILE1BQU0sT0FBTyxrQkFBa0I7SUFDOUIsOEVBQThFO0lBQzlFLFlBQVksQ0FBZTtJQUUzQixrQkFBa0IsR0FBc0IsRUFBRSxDQUFDO0lBRTNDLDRGQUE0RjtJQUM1RixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBRWYsWUFBYSxZQUEwQjtRQUN0QyxJQUFJLENBQUMsWUFBWTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNsQyxDQUFDO0lBWUQsTUFBTSxDQUFFLElBQXdCLEVBQUUsRUFBc0IsRUFBRSxRQUFnQjtRQUN6RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLE9BQU8sQ0FBRSxRQUFnQixFQUFFLE1BQWMsRUFBRSxRQUFnQjtRQUNsRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEVBQUU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sT0FBTyxDQUFFLElBQWUsRUFBRSxFQUFhLEVBQUUsUUFBZ0I7UUFDaEUsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEVBQUU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs2REFDeUQ7SUFDekQsTUFBTSxDQUFFLElBQWUsRUFBRSxFQUFhO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3RELENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBBbmltYXRpb24gfSBmcm9tIFwiLi9BbmltYXRpb24uanNcIjtcbmltcG9ydCB0eXBlIHsgQW5pbWF0aW9uU3RhdGUsIFRyYWNrRW50cnkgfSBmcm9tIFwiLi9BbmltYXRpb25TdGF0ZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTa2VsZXRvbkRhdGEgfSBmcm9tIFwiLi9Ta2VsZXRvbkRhdGEuanNcIjtcbmltcG9ydCB0eXBlIHsgU3RyaW5nTWFwIH0gZnJvbSBcIi4vVXRpbHMuanNcIjtcblxuXG4vKiogU3RvcmVzIG1peCAoY3Jvc3NmYWRlKSBkdXJhdGlvbnMgdG8gYmUgYXBwbGllZCB3aGVuIHtAbGluayBBbmltYXRpb25TdGF0ZX0gYW5pbWF0aW9ucyBhcmUgY2hhbmdlZCBvbiB0aGUgc2FtZSB0cmFjay4gKi9cbmV4cG9ydCBjbGFzcyBBbmltYXRpb25TdGF0ZURhdGEge1xuXHQvKiogVGhlIFNrZWxldG9uRGF0YSB0byBsb29rIHVwIGFuaW1hdGlvbnMgd2hlbiB0aGV5IGFyZSBzcGVjaWZpZWQgYnkgbmFtZS4gKi9cblx0c2tlbGV0b25EYXRhOiBTa2VsZXRvbkRhdGE7XG5cblx0YW5pbWF0aW9uVG9NaXhUaW1lOiBTdHJpbmdNYXA8bnVtYmVyPiA9IHt9O1xuXG5cdC8qKiBUaGUgbWl4IGR1cmF0aW9uIHRvIHVzZSB3aGVuIG5vIG1peCBkdXJhdGlvbiBoYXMgYmVlbiBkZWZpbmVkIGJldHdlZW4gdHdvIGFuaW1hdGlvbnMuICovXG5cdGRlZmF1bHRNaXggPSAwO1xuXG5cdGNvbnN0cnVjdG9yIChza2VsZXRvbkRhdGE6IFNrZWxldG9uRGF0YSkge1xuXHRcdGlmICghc2tlbGV0b25EYXRhKSB0aHJvdyBuZXcgRXJyb3IoXCJza2VsZXRvbkRhdGEgY2Fubm90IGJlIG51bGwuXCIpO1xuXHRcdHRoaXMuc2tlbGV0b25EYXRhID0gc2tlbGV0b25EYXRhO1xuXHR9XG5cblx0LyoqIFNldHMgYSBtaXggZHVyYXRpb24gYnkgYW5pbWF0aW9uIG5hbWUuXG5cdCAqXG5cdCAqIFNlZSB7QGxpbmsgc2V0TWl4fS4gKi9cblx0c2V0TWl4IChmcm9tTmFtZTogc3RyaW5nLCB0bzogc3RyaW5nLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZDtcblxuXHQvKiogU2V0cyB0aGUgbWl4IGR1cmF0aW9uIHdoZW4gY2hhbmdpbmcgZnJvbSB0aGUgc3BlY2lmaWVkIGFuaW1hdGlvbiB0byB0aGUgb3RoZXIuXG5cdCAqXG5cdCAqIFNlZSB7QGxpbmsgVHJhY2tFbnRyeS5taXhEdXJhdGlvbn0uICovXG5cdHNldE1peCAoZnJvbTogQW5pbWF0aW9uLCB0bzogQW5pbWF0aW9uLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZDtcblxuXHRzZXRNaXggKGZyb206IHN0cmluZyB8IEFuaW1hdGlvbiwgdG86IHN0cmluZyB8IEFuaW1hdGlvbiwgZHVyYXRpb246IG51bWJlcikge1xuXHRcdGlmICh0eXBlb2YgZnJvbSA9PT0gXCJzdHJpbmdcIilcblx0XHRcdHJldHVybiB0aGlzLnNldE1peDEoZnJvbSwgdG8gYXMgc3RyaW5nLCBkdXJhdGlvbik7XG5cdFx0cmV0dXJuIHRoaXMuc2V0TWl4Mihmcm9tLCB0byBhcyBBbmltYXRpb24sIGR1cmF0aW9uKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0TWl4MSAoZnJvbU5hbWU6IHN0cmluZywgdG9OYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpIHtcblx0XHRjb25zdCBmcm9tID0gdGhpcy5za2VsZXRvbkRhdGEuZmluZEFuaW1hdGlvbihmcm9tTmFtZSk7XG5cdFx0aWYgKCFmcm9tKSB0aHJvdyBuZXcgRXJyb3IoYEFuaW1hdGlvbiBub3QgZm91bmQ6ICR7ZnJvbU5hbWV9YCk7XG5cdFx0Y29uc3QgdG8gPSB0aGlzLnNrZWxldG9uRGF0YS5maW5kQW5pbWF0aW9uKHRvTmFtZSk7XG5cdFx0aWYgKCF0bykgdGhyb3cgbmV3IEVycm9yKGBBbmltYXRpb24gbm90IGZvdW5kOiAke3RvTmFtZX1gKTtcblx0XHR0aGlzLnNldE1peDIoZnJvbSwgdG8sIGR1cmF0aW9uKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0TWl4MiAoZnJvbTogQW5pbWF0aW9uLCB0bzogQW5pbWF0aW9uLCBkdXJhdGlvbjogbnVtYmVyKSB7XG5cdFx0aWYgKCFmcm9tKSB0aHJvdyBuZXcgRXJyb3IoXCJmcm9tIGNhbm5vdCBiZSBudWxsLlwiKTtcblx0XHRpZiAoIXRvKSB0aHJvdyBuZXcgRXJyb3IoXCJ0byBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0Y29uc3Qga2V5ID0gYCR7ZnJvbS5uYW1lfS4ke3RvLm5hbWV9YDtcblx0XHR0aGlzLmFuaW1hdGlvblRvTWl4VGltZVtrZXldID0gZHVyYXRpb247XG5cdH1cblxuXHQvKiogUmV0dXJucyB0aGUgbWl4IGR1cmF0aW9uIHRvIHVzZSB3aGVuIGNoYW5naW5nIGZyb20gdGhlIHNwZWNpZmllZCBhbmltYXRpb24gdG8gdGhlIG90aGVyIG9uIHRoZSBzYW1lIHRyYWNrLCBvciB0aGVcblx0ICoge0BsaW5rIGRlZmF1bHRNaXh9IGlmIG5vIG1peCBkdXJhdGlvbiBoYXMgYmVlbiBzZXQuICovXG5cdGdldE1peCAoZnJvbTogQW5pbWF0aW9uLCB0bzogQW5pbWF0aW9uKSB7XG5cdFx0Y29uc3Qga2V5ID0gYCR7ZnJvbS5uYW1lfS4ke3RvLm5hbWV9YDtcblx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuYW5pbWF0aW9uVG9NaXhUaW1lW2tleV07XG5cdFx0cmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRNaXggOiB2YWx1ZTtcblx0fVxufVxuIl19
|
|
@@ -26,18 +26,23 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { Texture } from "./Texture.js";
|
|
29
|
+
import type { Texture } from "./Texture.js";
|
|
30
30
|
import { TextureAtlas } from "./TextureAtlas.js";
|
|
31
|
-
import { Disposable, StringMap } from "./Utils.js";
|
|
31
|
+
import type { Disposable, StringMap } from "./Utils.js";
|
|
32
|
+
type AssetData = (Uint8Array | string | Texture | TextureAtlas | object) & Partial<Disposable>;
|
|
33
|
+
type AssetCallback<T extends AssetData> = (path: string, data: T) => void;
|
|
34
|
+
type ErrorCallback = (path: string, message: string) => void;
|
|
35
|
+
export type TextureLoader = (image: HTMLImageElement | ImageBitmap, pma?: boolean) => Texture;
|
|
32
36
|
export declare class AssetManagerBase implements Disposable {
|
|
33
|
-
private pathPrefix;
|
|
34
37
|
private textureLoader;
|
|
38
|
+
private pathPrefix;
|
|
35
39
|
private downloader;
|
|
36
40
|
private cache;
|
|
37
41
|
private errors;
|
|
38
42
|
private toLoad;
|
|
39
43
|
private loaded;
|
|
40
|
-
|
|
44
|
+
private texturePmaInfo;
|
|
45
|
+
constructor(textureLoader: TextureLoader, pathPrefix?: string, downloader?: Downloader, cache?: AssetCache);
|
|
41
46
|
private start;
|
|
42
47
|
private success;
|
|
43
48
|
private error;
|
|
@@ -46,23 +51,19 @@ export declare class AssetManagerBase implements Disposable {
|
|
|
46
51
|
loadBinary(path: string, success?: (path: string, binary: Uint8Array) => void, error?: (path: string, message: string) => void): void;
|
|
47
52
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, message: string) => void): void;
|
|
48
53
|
loadJson(path: string, success?: (path: string, object: object) => void, error?: (path: string, message: string) => void): void;
|
|
49
|
-
reuseAssets(path: string, success?:
|
|
50
|
-
loadTexture(path: string, success?:
|
|
51
|
-
loadTextureAtlas(path: string, success?:
|
|
52
|
-
|
|
53
|
-
}): void;
|
|
54
|
-
loadTextureAtlasButNoTextures(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, message: string) => void, fileAlias?: {
|
|
55
|
-
[keyword: string]: string;
|
|
56
|
-
}): void;
|
|
54
|
+
reuseAssets<T extends AssetData>(path: string, success?: AssetCallback<T>, error?: ErrorCallback): boolean;
|
|
55
|
+
loadTexture(path: string, success?: AssetCallback<Texture>, error?: ErrorCallback): void;
|
|
56
|
+
loadTextureAtlas(path: string, success?: AssetCallback<TextureAtlas>, error?: ErrorCallback, fileAlias?: Record<string, string>): void;
|
|
57
|
+
loadTextureAtlasButNoTextures(path: string, success?: AssetCallback<TextureAtlas>, error?: ErrorCallback): void;
|
|
57
58
|
loadBinaryAsync(path: string): Promise<unknown>;
|
|
58
59
|
loadJsonAsync(path: string): Promise<unknown>;
|
|
59
60
|
loadTextureAsync(path: string): Promise<Texture>;
|
|
60
61
|
loadTextureAtlasAsync(path: string): Promise<unknown>;
|
|
61
62
|
loadTextureAtlasButNoTexturesAsync(path: string): Promise<TextureAtlas>;
|
|
62
63
|
setCache(cache: AssetCache): void;
|
|
63
|
-
get(path: string):
|
|
64
|
-
require(path: string):
|
|
65
|
-
remove(path: string):
|
|
64
|
+
get(path: string): AssetData;
|
|
65
|
+
require(path: string): AssetData;
|
|
66
|
+
remove(path: string): AssetData;
|
|
66
67
|
removeAll(): void;
|
|
67
68
|
isLoadingComplete(): boolean;
|
|
68
69
|
getToLoad(): number;
|
|
@@ -74,24 +75,29 @@ export declare class AssetManagerBase implements Disposable {
|
|
|
74
75
|
private disposeAssetInternal;
|
|
75
76
|
private createTextureAtlas;
|
|
76
77
|
private createTexture;
|
|
78
|
+
private texturePath;
|
|
77
79
|
}
|
|
78
80
|
export declare class AssetCache {
|
|
79
|
-
assets: StringMap<
|
|
81
|
+
assets: StringMap<AssetData>;
|
|
80
82
|
assetsRefCount: StringMap<number>;
|
|
81
|
-
assetsLoaded: StringMap<Promise<
|
|
83
|
+
assetsLoaded: StringMap<Promise<AssetData | undefined>>;
|
|
82
84
|
static AVAILABLE_CACHES: Map<string, AssetCache>;
|
|
83
85
|
static getCache(id: string): AssetCache;
|
|
84
|
-
addAsset(path: string, asset:
|
|
86
|
+
addAsset<T extends AssetData>(path: string, asset: T): Promise<T>;
|
|
87
|
+
getAsset<T extends AssetData>(path: string): Promise<T> | undefined;
|
|
85
88
|
}
|
|
89
|
+
type DownloaderSuccessCallback<T extends AssetData = AssetData> = (data: T) => void;
|
|
90
|
+
type DownloaderErrorCallback = (status: number, responseText: string) => void;
|
|
86
91
|
export declare class Downloader {
|
|
87
92
|
private callbacks;
|
|
88
93
|
rawDataUris: StringMap<string>;
|
|
89
94
|
dataUriToString(dataUri: string): string;
|
|
90
95
|
base64ToUint8Array(base64: string): Uint8Array;
|
|
91
96
|
dataUriToUint8Array(dataUri: string): Uint8Array;
|
|
92
|
-
downloadText(url: string, success:
|
|
93
|
-
downloadJson(url: string, success:
|
|
94
|
-
downloadBinary(url: string, success: (data: Uint8Array) => void, error:
|
|
97
|
+
downloadText(url: string, success: DownloaderSuccessCallback<string>, error: DownloaderErrorCallback): void;
|
|
98
|
+
downloadJson(url: string, success: DownloaderSuccessCallback<object>, error: DownloaderErrorCallback): void;
|
|
99
|
+
downloadBinary(url: string, success: (data: Uint8Array) => void, error: DownloaderErrorCallback): void;
|
|
95
100
|
private start;
|
|
96
101
|
private finish;
|
|
97
102
|
}
|
|
103
|
+
export {};
|