@esotericsoftware/spine-core 4.0.9 → 4.0.13
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.js +577 -710
- package/dist/AnimationState.js +239 -259
- package/dist/AnimationStateData.js +15 -17
- package/dist/AssetManagerBase.d.ts +3 -0
- package/dist/AssetManagerBase.js +168 -147
- package/dist/AtlasAttachmentLoader.js +20 -22
- package/dist/Bone.js +89 -91
- package/dist/BoneData.js +4 -6
- package/dist/ConstraintData.js +4 -6
- package/dist/Event.js +4 -6
- package/dist/EventData.js +4 -6
- package/dist/IkConstraint.js +48 -50
- package/dist/IkConstraintData.js +12 -31
- package/dist/PathConstraint.js +116 -118
- package/dist/PathConstraintData.js +9 -28
- package/dist/Skeleton.js +189 -192
- package/dist/SkeletonBinary.js +352 -363
- package/dist/SkeletonBounds.js +79 -81
- package/dist/SkeletonClipping.js +86 -88
- package/dist/SkeletonData.js +46 -48
- package/dist/SkeletonJson.js +307 -310
- package/dist/Skin.js +65 -69
- package/dist/Slot.js +16 -18
- package/dist/SlotData.js +4 -6
- package/dist/Texture.js +14 -39
- package/dist/TextureAtlas.js +56 -85
- package/dist/TransformConstraint.js +77 -79
- package/dist/TransformConstraintData.js +20 -39
- package/dist/Triangulator.js +71 -73
- package/dist/Updatable.js +1 -1
- package/dist/Utils.js +183 -245
- package/dist/VertexEffect.js +1 -1
- package/dist/attachments/Attachment.js +41 -62
- package/dist/attachments/AttachmentLoader.js +1 -1
- package/dist/attachments/BoundingBoxAttachment.js +9 -28
- package/dist/attachments/ClippingAttachment.js +9 -28
- package/dist/attachments/MeshAttachment.js +29 -48
- package/dist/attachments/PathAttachment.js +11 -30
- package/dist/attachments/PointAttachment.js +16 -35
- package/dist/attachments/RegionAttachment.js +82 -101
- package/dist/attachments/index.js +1 -1
- package/dist/iife/spine-core.js +62 -22
- package/dist/iife/spine-core.js.map +2 -2
- package/dist/iife/spine-core.min.js +2 -2
- package/dist/index.js +1 -1
- package/dist/polyfills.js +2 -2
- package/dist/vertexeffects/JitterEffect.js +10 -12
- package/dist/vertexeffects/SwirlEffect.js +18 -20
- package/package.json +1 -1
- package/dist/Animation.js.map +0 -1
- package/dist/AnimationState.js.map +0 -1
- package/dist/AnimationStateData.js.map +0 -1
- package/dist/AssetManagerBase.js.map +0 -1
- package/dist/AtlasAttachmentLoader.js.map +0 -1
- package/dist/Bone.js.map +0 -1
- package/dist/BoneData.js.map +0 -1
- package/dist/ConstraintData.js.map +0 -1
- package/dist/Event.js.map +0 -1
- package/dist/EventData.js.map +0 -1
- package/dist/IkConstraint.js.map +0 -1
- package/dist/IkConstraintData.js.map +0 -1
- package/dist/PathConstraint.js.map +0 -1
- package/dist/PathConstraintData.js.map +0 -1
- package/dist/Skeleton.js.map +0 -1
- package/dist/SkeletonBinary.js.map +0 -1
- package/dist/SkeletonBounds.js.map +0 -1
- package/dist/SkeletonClipping.js.map +0 -1
- package/dist/SkeletonData.js.map +0 -1
- package/dist/SkeletonJson.js.map +0 -1
- package/dist/Skin.js.map +0 -1
- package/dist/Slot.js.map +0 -1
- package/dist/SlotData.js.map +0 -1
- package/dist/Texture.js.map +0 -1
- package/dist/TextureAtlas.js.map +0 -1
- package/dist/TransformConstraint.js.map +0 -1
- package/dist/TransformConstraintData.js.map +0 -1
- package/dist/Triangulator.js.map +0 -1
- package/dist/Updatable.js.map +0 -1
- package/dist/Utils.js.map +0 -1
- package/dist/VertexEffect.js.map +0 -1
- package/dist/attachments/Attachment.js.map +0 -1
- package/dist/attachments/AttachmentLoader.js.map +0 -1
- package/dist/attachments/BoundingBoxAttachment.js.map +0 -1
- package/dist/attachments/ClippingAttachment.js.map +0 -1
- package/dist/attachments/MeshAttachment.js.map +0 -1
- package/dist/attachments/PathAttachment.js.map +0 -1
- package/dist/attachments/PointAttachment.js.map +0 -1
- package/dist/attachments/RegionAttachment.js.map +0 -1
- package/dist/attachments/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/polyfills.js.map +0 -1
- package/dist/vertexeffects/JitterEffect.js.map +0 -1
- package/dist/vertexeffects/SwirlEffect.js.map +0 -1
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
export class AnimationStateData {
|
|
31
|
+
constructor(skeletonData) {
|
|
32
32
|
this.animationToMixTime = {};
|
|
33
33
|
/** The mix duration to use when no mix duration has been defined between two animations. */
|
|
34
34
|
this.defaultMix = 0;
|
|
@@ -39,34 +39,32 @@ var AnimationStateData = /** @class */ (function () {
|
|
|
39
39
|
/** Sets a mix duration by animation name.
|
|
40
40
|
*
|
|
41
41
|
* See {@link #setMixWith()}. */
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
setMix(fromName, toName, duration) {
|
|
43
|
+
let from = this.skeletonData.findAnimation(fromName);
|
|
44
44
|
if (!from)
|
|
45
45
|
throw new Error("Animation not found: " + fromName);
|
|
46
|
-
|
|
46
|
+
let to = this.skeletonData.findAnimation(toName);
|
|
47
47
|
if (!to)
|
|
48
48
|
throw new Error("Animation not found: " + toName);
|
|
49
49
|
this.setMixWith(from, to, duration);
|
|
50
|
-
}
|
|
50
|
+
}
|
|
51
51
|
/** Sets the mix duration when changing from the specified animation to the other.
|
|
52
52
|
*
|
|
53
53
|
* See {@link TrackEntry#mixDuration}. */
|
|
54
|
-
|
|
54
|
+
setMixWith(from, to, duration) {
|
|
55
55
|
if (!from)
|
|
56
56
|
throw new Error("from cannot be null.");
|
|
57
57
|
if (!to)
|
|
58
58
|
throw new Error("to cannot be null.");
|
|
59
|
-
|
|
59
|
+
let key = from.name + "." + to.name;
|
|
60
60
|
this.animationToMixTime[key] = duration;
|
|
61
|
-
}
|
|
61
|
+
}
|
|
62
62
|
/** Returns the mix duration to use when changing from the specified animation to the other, or the {@link #defaultMix} if
|
|
63
63
|
* no mix duration has been set. */
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
getMix(from, to) {
|
|
65
|
+
let key = from.name + "." + to.name;
|
|
66
|
+
let value = this.animationToMixTime[key];
|
|
67
67
|
return value === undefined ? this.defaultMix : value;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
export { AnimationStateData };
|
|
72
|
-
//# sourceMappingURL=AnimationStateData.js.map
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5pbWF0aW9uU3RhdGVEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0FuaW1hdGlvblN0YXRlRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFPL0UseUdBQXlHO0FBQ3pHLE1BQU0sT0FBTyxrQkFBa0I7SUFTOUIsWUFBYSxZQUEwQjtRQUx2Qyx1QkFBa0IsR0FBc0IsRUFBRSxDQUFDO1FBRTNDLDRGQUE0RjtRQUM1RixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBR2QsSUFBSSxDQUFDLFlBQVk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVEOztvQ0FFZ0M7SUFDaEMsTUFBTSxDQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLFFBQWdCO1FBQ3pELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7NkNBRXlDO0lBQ3pDLFVBQVUsQ0FBRSxJQUFlLEVBQUUsRUFBYSxFQUFFLFFBQWdCO1FBQzNELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9DLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7d0NBQ29DO0lBQ3BDLE1BQU0sQ0FBRSxJQUFlLEVBQUUsRUFBYTtRQUNyQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3BDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN0RCxDQUFDO0NBQ0QifQ==
|
|
@@ -61,6 +61,9 @@ export declare class AssetManagerBase implements Disposable {
|
|
|
61
61
|
export declare class Downloader {
|
|
62
62
|
private callbacks;
|
|
63
63
|
rawDataUris: StringMap<string>;
|
|
64
|
+
dataUriToString(dataUri: string): string;
|
|
65
|
+
base64ToUint8Array(base64: string): Uint8Array;
|
|
66
|
+
dataUriToUint8Array(dataUri: string): Uint8Array;
|
|
64
67
|
downloadText(url: string, success: (data: string) => void, error: (status: number, responseText: string) => void): void;
|
|
65
68
|
downloadJson(url: string, success: (data: object) => void, error: (status: number, responseText: string) => void): void;
|
|
66
69
|
downloadBinary(url: string, success: (data: Uint8Array) => void, error: (status: number, responseText: string) => void): void;
|
package/dist/AssetManagerBase.js
CHANGED
|
@@ -27,10 +27,8 @@
|
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
29
|
import { TextureAtlas } from "./TextureAtlas";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (pathPrefix === void 0) { pathPrefix = ""; }
|
|
33
|
-
if (downloader === void 0) { downloader = null; }
|
|
30
|
+
export class AssetManagerBase {
|
|
31
|
+
constructor(textureLoader, pathPrefix = "", downloader = null) {
|
|
34
32
|
this.assets = {};
|
|
35
33
|
this.errors = {};
|
|
36
34
|
this.toLoad = 0;
|
|
@@ -39,227 +37,252 @@ var AssetManagerBase = /** @class */ (function () {
|
|
|
39
37
|
this.pathPrefix = pathPrefix;
|
|
40
38
|
this.downloader = downloader || new Downloader();
|
|
41
39
|
}
|
|
42
|
-
|
|
40
|
+
start(path) {
|
|
43
41
|
this.toLoad++;
|
|
44
42
|
return this.pathPrefix + path;
|
|
45
|
-
}
|
|
46
|
-
|
|
43
|
+
}
|
|
44
|
+
success(callback, path, asset) {
|
|
47
45
|
this.toLoad--;
|
|
48
46
|
this.loaded++;
|
|
49
47
|
this.assets[path] = asset;
|
|
50
48
|
if (callback)
|
|
51
49
|
callback(path, asset);
|
|
52
|
-
}
|
|
53
|
-
|
|
50
|
+
}
|
|
51
|
+
error(callback, path, message) {
|
|
54
52
|
this.toLoad--;
|
|
55
53
|
this.loaded++;
|
|
56
54
|
this.errors[path] = message;
|
|
57
55
|
if (callback)
|
|
58
56
|
callback(path, message);
|
|
59
|
-
}
|
|
60
|
-
|
|
57
|
+
}
|
|
58
|
+
setRawDataURI(path, data) {
|
|
61
59
|
this.downloader.rawDataUris[this.pathPrefix + path] = data;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
var _this = this;
|
|
65
|
-
if (success === void 0) { success = null; }
|
|
66
|
-
if (error === void 0) { error = null; }
|
|
60
|
+
}
|
|
61
|
+
loadBinary(path, success = null, error = null) {
|
|
67
62
|
path = this.start(path);
|
|
68
|
-
this.downloader.downloadBinary(path,
|
|
69
|
-
|
|
70
|
-
},
|
|
71
|
-
|
|
63
|
+
this.downloader.downloadBinary(path, (data) => {
|
|
64
|
+
this.success(success, path, data);
|
|
65
|
+
}, (status, responseText) => {
|
|
66
|
+
this.error(error, path, `Couldn't load binary ${path}: status ${status}, ${responseText}`);
|
|
72
67
|
});
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
var _this = this;
|
|
76
|
-
if (success === void 0) { success = null; }
|
|
77
|
-
if (error === void 0) { error = null; }
|
|
68
|
+
}
|
|
69
|
+
loadText(path, success = null, error = null) {
|
|
78
70
|
path = this.start(path);
|
|
79
|
-
this.downloader.downloadText(path,
|
|
80
|
-
|
|
81
|
-
},
|
|
82
|
-
|
|
71
|
+
this.downloader.downloadText(path, (data) => {
|
|
72
|
+
this.success(success, path, data);
|
|
73
|
+
}, (status, responseText) => {
|
|
74
|
+
this.error(error, path, `Couldn't load text ${path}: status ${status}, ${responseText}`);
|
|
83
75
|
});
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
var _this = this;
|
|
87
|
-
if (success === void 0) { success = null; }
|
|
88
|
-
if (error === void 0) { error = null; }
|
|
76
|
+
}
|
|
77
|
+
loadJson(path, success = null, error = null) {
|
|
89
78
|
path = this.start(path);
|
|
90
|
-
this.downloader.downloadJson(path,
|
|
91
|
-
|
|
92
|
-
},
|
|
93
|
-
|
|
79
|
+
this.downloader.downloadJson(path, (data) => {
|
|
80
|
+
this.success(success, path, data);
|
|
81
|
+
}, (status, responseText) => {
|
|
82
|
+
this.error(error, path, `Couldn't load JSON ${path}: status ${status}, ${responseText}`);
|
|
94
83
|
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
var _this = this;
|
|
98
|
-
if (success === void 0) { success = null; }
|
|
99
|
-
if (error === void 0) { error = null; }
|
|
84
|
+
}
|
|
85
|
+
loadTexture(path, success = null, error = null) {
|
|
100
86
|
path = this.start(path);
|
|
101
|
-
|
|
102
|
-
|
|
87
|
+
let isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
|
|
88
|
+
let isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
|
|
103
89
|
if (isWebWorker) {
|
|
104
|
-
fetch(path, { mode: "cors" }).then(
|
|
90
|
+
fetch(path, { mode: "cors" }).then((response) => {
|
|
105
91
|
if (response.ok)
|
|
106
92
|
return response.blob();
|
|
107
|
-
|
|
93
|
+
this.error(error, path, `Couldn't load image: ${path}`);
|
|
108
94
|
return null;
|
|
109
|
-
}).then(
|
|
95
|
+
}).then((blob) => {
|
|
110
96
|
return blob ? createImageBitmap(blob, { premultiplyAlpha: "none", colorSpaceConversion: "none" }) : null;
|
|
111
|
-
}).then(
|
|
97
|
+
}).then((bitmap) => {
|
|
112
98
|
if (bitmap)
|
|
113
|
-
|
|
99
|
+
this.success(success, path, this.textureLoader(bitmap));
|
|
114
100
|
});
|
|
115
101
|
}
|
|
116
102
|
else {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
103
|
+
let image = new Image();
|
|
104
|
+
image.crossOrigin = "anonymous";
|
|
105
|
+
image.onload = () => {
|
|
106
|
+
this.success(success, path, this.textureLoader(image));
|
|
121
107
|
};
|
|
122
|
-
|
|
123
|
-
|
|
108
|
+
image.onerror = () => {
|
|
109
|
+
this.error(error, path, `Couldn't load image: ${path}`);
|
|
124
110
|
};
|
|
125
111
|
if (this.downloader.rawDataUris[path])
|
|
126
112
|
path = this.downloader.rawDataUris[path];
|
|
127
|
-
|
|
113
|
+
image.src = path;
|
|
128
114
|
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (error === void 0) { error = null; }
|
|
134
|
-
var index = path.lastIndexOf("/");
|
|
135
|
-
var parent = index >= 0 ? path.substring(0, index + 1) : "";
|
|
115
|
+
}
|
|
116
|
+
loadTextureAtlas(path, success = null, error = null) {
|
|
117
|
+
let index = path.lastIndexOf("/");
|
|
118
|
+
let parent = index >= 0 ? path.substring(0, index + 1) : "";
|
|
136
119
|
path = this.start(path);
|
|
137
|
-
this.downloader.downloadText(path,
|
|
120
|
+
this.downloader.downloadText(path, (atlasText) => {
|
|
138
121
|
try {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if (!
|
|
122
|
+
let atlas = new TextureAtlas(atlasText);
|
|
123
|
+
let toLoad = atlas.pages.length, abort = false;
|
|
124
|
+
for (let page of atlas.pages) {
|
|
125
|
+
this.loadTexture(parent + page.name, (imagePath, texture) => {
|
|
126
|
+
if (!abort) {
|
|
144
127
|
page.setTexture(texture);
|
|
145
|
-
if (--
|
|
146
|
-
|
|
128
|
+
if (--toLoad == 0)
|
|
129
|
+
this.success(success, path, atlas);
|
|
147
130
|
}
|
|
148
|
-
},
|
|
149
|
-
if (!
|
|
150
|
-
|
|
151
|
-
|
|
131
|
+
}, (imagePath, message) => {
|
|
132
|
+
if (!abort)
|
|
133
|
+
this.error(error, path, `Couldn't load texture atlas ${path} page image: ${imagePath}`);
|
|
134
|
+
abort = true;
|
|
152
135
|
});
|
|
153
|
-
};
|
|
154
|
-
for (var _i = 0, _a = atlas_1.pages; _i < _a.length; _i++) {
|
|
155
|
-
var page = _a[_i];
|
|
156
|
-
_loop_1(page);
|
|
157
136
|
}
|
|
158
137
|
}
|
|
159
138
|
catch (e) {
|
|
160
|
-
|
|
139
|
+
this.error(error, path, `Couldn't parse texture atlas ${path}: ${e.message}`);
|
|
161
140
|
}
|
|
162
|
-
},
|
|
163
|
-
|
|
141
|
+
}, (status, responseText) => {
|
|
142
|
+
this.error(error, path, `Couldn't load texture atlas ${path}: status ${status}, ${responseText}`);
|
|
164
143
|
});
|
|
165
|
-
}
|
|
166
|
-
|
|
144
|
+
}
|
|
145
|
+
get(path) {
|
|
167
146
|
return this.assets[this.pathPrefix + path];
|
|
168
|
-
}
|
|
169
|
-
|
|
147
|
+
}
|
|
148
|
+
require(path) {
|
|
170
149
|
path = this.pathPrefix + path;
|
|
171
|
-
|
|
150
|
+
let asset = this.assets[path];
|
|
172
151
|
if (asset)
|
|
173
152
|
return asset;
|
|
174
|
-
|
|
153
|
+
let error = this.errors[path];
|
|
175
154
|
throw Error("Asset not found: " + path + (error ? "\n" + error : ""));
|
|
176
|
-
}
|
|
177
|
-
|
|
155
|
+
}
|
|
156
|
+
remove(path) {
|
|
178
157
|
path = this.pathPrefix + path;
|
|
179
|
-
|
|
158
|
+
let asset = this.assets[path];
|
|
180
159
|
if (asset.dispose)
|
|
181
160
|
asset.dispose();
|
|
182
161
|
delete this.assets[path];
|
|
183
162
|
return asset;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
for (
|
|
187
|
-
|
|
163
|
+
}
|
|
164
|
+
removeAll() {
|
|
165
|
+
for (let key in this.assets) {
|
|
166
|
+
let asset = this.assets[key];
|
|
188
167
|
if (asset.dispose)
|
|
189
168
|
asset.dispose();
|
|
190
169
|
}
|
|
191
170
|
this.assets = {};
|
|
192
|
-
}
|
|
193
|
-
|
|
171
|
+
}
|
|
172
|
+
isLoadingComplete() {
|
|
194
173
|
return this.toLoad == 0;
|
|
195
|
-
}
|
|
196
|
-
|
|
174
|
+
}
|
|
175
|
+
getToLoad() {
|
|
197
176
|
return this.toLoad;
|
|
198
|
-
}
|
|
199
|
-
|
|
177
|
+
}
|
|
178
|
+
getLoaded() {
|
|
200
179
|
return this.loaded;
|
|
201
|
-
}
|
|
202
|
-
|
|
180
|
+
}
|
|
181
|
+
dispose() {
|
|
203
182
|
this.removeAll();
|
|
204
|
-
}
|
|
205
|
-
|
|
183
|
+
}
|
|
184
|
+
hasErrors() {
|
|
206
185
|
return Object.keys(this.errors).length > 0;
|
|
207
|
-
}
|
|
208
|
-
|
|
186
|
+
}
|
|
187
|
+
getErrors() {
|
|
209
188
|
return this.errors;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
var Downloader = /** @class */ (function () {
|
|
215
|
-
function Downloader() {
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
export class Downloader {
|
|
192
|
+
constructor() {
|
|
216
193
|
this.callbacks = {};
|
|
217
194
|
this.rawDataUris = {};
|
|
218
195
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
196
|
+
dataUriToString(dataUri) {
|
|
197
|
+
if (!dataUri.startsWith("data:")) {
|
|
198
|
+
throw new Error("Not a data URI.");
|
|
199
|
+
}
|
|
200
|
+
let base64Idx = dataUri.indexOf("base64,");
|
|
201
|
+
if (base64Idx != -1) {
|
|
202
|
+
base64Idx += "base64,".length;
|
|
203
|
+
return atob(dataUri.substr(base64Idx));
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
return dataUri.substr(dataUri.indexOf(",") + 1);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
base64ToUint8Array(base64) {
|
|
210
|
+
var binary_string = window.atob(base64);
|
|
211
|
+
var len = binary_string.length;
|
|
212
|
+
var bytes = new Uint8Array(len);
|
|
213
|
+
for (var i = 0; i < len; i++) {
|
|
214
|
+
bytes[i] = binary_string.charCodeAt(i);
|
|
215
|
+
}
|
|
216
|
+
return bytes;
|
|
217
|
+
}
|
|
218
|
+
dataUriToUint8Array(dataUri) {
|
|
219
|
+
if (!dataUri.startsWith("data:")) {
|
|
220
|
+
throw new Error("Not a data URI.");
|
|
221
|
+
}
|
|
222
|
+
let base64Idx = dataUri.indexOf("base64,");
|
|
223
|
+
if (base64Idx == -1)
|
|
224
|
+
throw new Error("Not a binary data URI.");
|
|
225
|
+
base64Idx += "base64,".length;
|
|
226
|
+
return this.base64ToUint8Array(dataUri.substr(base64Idx));
|
|
227
|
+
}
|
|
228
|
+
downloadText(url, success, error) {
|
|
223
229
|
if (this.start(url, success, error))
|
|
224
230
|
return;
|
|
225
|
-
|
|
231
|
+
if (this.rawDataUris[url]) {
|
|
232
|
+
try {
|
|
233
|
+
let dataUri = this.rawDataUris[url];
|
|
234
|
+
this.finish(url, 200, this.dataUriToString(dataUri));
|
|
235
|
+
}
|
|
236
|
+
catch (e) {
|
|
237
|
+
this.finish(url, 400, JSON.stringify(e));
|
|
238
|
+
}
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
let request = new XMLHttpRequest();
|
|
226
242
|
request.overrideMimeType("text/html");
|
|
227
243
|
request.open("GET", url, true);
|
|
228
|
-
|
|
229
|
-
|
|
244
|
+
let done = () => {
|
|
245
|
+
this.finish(url, request.status, request.responseText);
|
|
230
246
|
};
|
|
231
247
|
request.onload = done;
|
|
232
248
|
request.onerror = done;
|
|
233
249
|
request.send();
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
this.downloadText(url,
|
|
250
|
+
}
|
|
251
|
+
downloadJson(url, success, error) {
|
|
252
|
+
this.downloadText(url, (data) => {
|
|
237
253
|
success(JSON.parse(data));
|
|
238
254
|
}, error);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
var _this = this;
|
|
242
|
-
if (this.rawDataUris[url])
|
|
243
|
-
url = this.rawDataUris[url];
|
|
255
|
+
}
|
|
256
|
+
downloadBinary(url, success, error) {
|
|
244
257
|
if (this.start(url, success, error))
|
|
245
258
|
return;
|
|
246
|
-
|
|
259
|
+
if (this.rawDataUris[url]) {
|
|
260
|
+
try {
|
|
261
|
+
let dataUri = this.rawDataUris[url];
|
|
262
|
+
this.finish(url, 200, this.dataUriToUint8Array(dataUri));
|
|
263
|
+
}
|
|
264
|
+
catch (e) {
|
|
265
|
+
this.finish(url, 400, JSON.stringify(e));
|
|
266
|
+
}
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
let request = new XMLHttpRequest();
|
|
247
270
|
request.open("GET", url, true);
|
|
248
271
|
request.responseType = "arraybuffer";
|
|
249
|
-
|
|
250
|
-
|
|
272
|
+
let onerror = () => {
|
|
273
|
+
this.finish(url, request.status, request.response);
|
|
251
274
|
};
|
|
252
|
-
request.onload =
|
|
275
|
+
request.onload = () => {
|
|
253
276
|
if (request.status == 200)
|
|
254
|
-
|
|
277
|
+
this.finish(url, 200, new Uint8Array(request.response));
|
|
255
278
|
else
|
|
256
279
|
onerror();
|
|
257
280
|
};
|
|
258
281
|
request.onerror = onerror;
|
|
259
282
|
request.send();
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
|
|
283
|
+
}
|
|
284
|
+
start(url, success, error) {
|
|
285
|
+
let callbacks = this.callbacks[url];
|
|
263
286
|
try {
|
|
264
287
|
if (callbacks)
|
|
265
288
|
return true;
|
|
@@ -268,15 +291,13 @@ var Downloader = /** @class */ (function () {
|
|
|
268
291
|
finally {
|
|
269
292
|
callbacks.push(success, error);
|
|
270
293
|
}
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
|
|
294
|
+
}
|
|
295
|
+
finish(url, status, data) {
|
|
296
|
+
let callbacks = this.callbacks[url];
|
|
274
297
|
delete this.callbacks[url];
|
|
275
|
-
|
|
276
|
-
for (
|
|
298
|
+
let args = status == 200 ? [data] : [status, data];
|
|
299
|
+
for (let i = args.length - 1, n = callbacks.length; i < n; i += 2)
|
|
277
300
|
callbacks[i].apply(null, args);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
}());
|
|
281
|
-
export { Downloader };
|
|
282
|
-
//# sourceMappingURL=AssetManagerBase.js.map
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXRNYW5hZ2VyQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Bc3NldE1hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsTUFBTSxPQUFPLGdCQUFnQjtJQVM1QixZQUFhLGFBQWlFLEVBQUUsYUFBcUIsRUFBRSxFQUFFLGFBQXlCLElBQUk7UUFMOUgsV0FBTSxHQUFtQixFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFzQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFHbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU8sS0FBSyxDQUFFLElBQVk7UUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRU8sT0FBTyxDQUFFLFFBQTJDLEVBQUUsSUFBWSxFQUFFLEtBQVU7UUFDckYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxRQUFRO1lBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sS0FBSyxDQUFFLFFBQWlELEVBQUUsSUFBWSxFQUFFLE9BQWU7UUFDOUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxRQUFRO1lBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFFLElBQVksRUFBRSxJQUFZO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFRCxVQUFVLENBQUUsSUFBWSxFQUN2QixVQUFzRCxJQUFJLEVBQzFELFFBQWlELElBQUk7UUFDckQsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBZ0IsRUFBUSxFQUFFO1lBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUUsQ0FBQyxNQUFjLEVBQUUsWUFBb0IsRUFBUSxFQUFFO1lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSx3QkFBd0IsSUFBSSxZQUFZLE1BQU0sS0FBSyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBRSxJQUFZLEVBQ3JCLFVBQWdELElBQUksRUFDcEQsUUFBaUQsSUFBSTtRQUNyRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFZLEVBQVEsRUFBRTtZQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxFQUFFLENBQUMsTUFBYyxFQUFFLFlBQW9CLEVBQVEsRUFBRTtZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsc0JBQXNCLElBQUksWUFBWSxNQUFNLEtBQUssWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMxRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUUsSUFBWSxFQUNyQixVQUFrRCxJQUFJLEVBQ3RELFFBQWlELElBQUk7UUFDckQsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBWSxFQUFRLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFBRSxDQUFDLE1BQWMsRUFBRSxZQUFvQixFQUFRLEVBQUU7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixJQUFJLFlBQVksTUFBTSxLQUFLLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFFLElBQVksRUFDeEIsVUFBb0QsSUFBSSxFQUN4RCxRQUFpRCxJQUFJO1FBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksV0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsMkNBQTJDO1FBQ3pFLElBQUksV0FBVyxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQWUsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxRQUFRLENBQUMsRUFBRTtvQkFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxPQUFPLElBQUksQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNoQixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxNQUFNO29CQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7U0FDSDthQUFNO1lBQ04sSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4QixLQUFLLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNoQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUM7WUFDRixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQztZQUNGLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUFFLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRixLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNqQjtJQUNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxJQUFZLEVBQzdCLFVBQXVELElBQUksRUFDM0QsUUFBaUQsSUFBSTtRQUVyRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQWlCLEVBQVEsRUFBRTtZQUM5RCxJQUFJO2dCQUNILElBQUksS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUMvQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQ2xDLENBQUMsU0FBaUIsRUFBRSxPQUFnQixFQUFFLEVBQUU7d0JBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUU7NEJBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs0QkFDekIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDO2dDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzt5QkFDdEQ7b0JBQ0YsQ0FBQyxFQUNELENBQUMsU0FBaUIsRUFBRSxPQUFlLEVBQUUsRUFBRTt3QkFDdEMsSUFBSSxDQUFDLEtBQUs7NEJBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLCtCQUErQixJQUFJLGdCQUFnQixTQUFTLEVBQUUsQ0FBQyxDQUFDO3dCQUNwRyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUNkLENBQUMsQ0FDRCxDQUFDO2lCQUNGO2FBQ0Q7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0NBQWdDLElBQUksS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUM5RTtRQUNGLENBQUMsRUFBRSxDQUFDLE1BQWMsRUFBRSxZQUFvQixFQUFRLEVBQUU7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLCtCQUErQixJQUFJLFlBQVksTUFBTSxLQUFLLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkcsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFFLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU8sQ0FBRSxJQUFZO1FBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNLENBQUUsSUFBWTtRQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFVLEtBQU0sQ0FBQyxPQUFPO1lBQVEsS0FBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTO1FBQ1IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzVCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBVSxLQUFNLENBQUMsT0FBTztnQkFBUSxLQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEIsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEIsQ0FBQztDQUNEO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxjQUFTLEdBQStCLEVBQUUsQ0FBQztRQUNuRCxnQkFBVyxHQUFzQixFQUFFLENBQUM7SUE2R3JDLENBQUM7SUEzR0EsZUFBZSxDQUFFLE9BQWU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQyxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNwQixTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNOLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0YsQ0FBQztJQUVELGtCQUFrQixDQUFFLE1BQWM7UUFDakMsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQy9CLElBQUksS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFFRCxtQkFBbUIsQ0FBRSxPQUFlO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQy9ELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWSxDQUFFLEdBQVcsRUFBRSxPQUErQixFQUFFLEtBQXFEO1FBQ2hILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDNUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLElBQUk7Z0JBQ0gsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNyRDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekM7WUFDRCxPQUFPO1NBQ1A7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxJQUFJLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFZLENBQUUsR0FBVyxFQUFFLE9BQStCLEVBQUUsS0FBcUQ7UUFDaEgsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFZLEVBQVEsRUFBRTtZQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxjQUFjLENBQUUsR0FBVyxFQUFFLE9BQW1DLEVBQUUsS0FBcUQ7UUFDdEgsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUM1QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDMUIsSUFBSTtnQkFDSCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDekQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsT0FBTztTQUNQO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7UUFDckMsSUFBSSxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ3JCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxHQUFHO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQXVCLENBQUMsQ0FBQyxDQUFDOztnQkFFdkUsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUM7UUFDRixPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMxQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLEtBQUssQ0FBRSxHQUFXLEVBQUUsT0FBWSxFQUFFLEtBQVU7UUFDbkQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJO1lBQ0gsSUFBSSxTQUFTO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQztTQUNyQztnQkFBUztZQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9CO0lBQ0YsQ0FBQztJQUVPLE1BQU0sQ0FBRSxHQUFXLEVBQUUsTUFBYyxFQUFFLElBQVM7UUFDckQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2hFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRCJ9
|
|
@@ -36,41 +36,39 @@ import { RegionAttachment } from "./attachments/RegionAttachment";
|
|
|
36
36
|
*
|
|
37
37
|
* See [Loading skeleton data](http://esotericsoftware.com/spine-loading-skeleton-data#JSON-and-binary-data) in the
|
|
38
38
|
* Spine Runtimes Guide. */
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
export class AtlasAttachmentLoader {
|
|
40
|
+
constructor(atlas) {
|
|
41
41
|
this.atlas = atlas;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
newRegionAttachment(skin, name, path) {
|
|
44
|
+
let region = this.atlas.findRegion(path);
|
|
45
45
|
if (!region)
|
|
46
46
|
throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")");
|
|
47
47
|
region.renderObject = region;
|
|
48
|
-
|
|
48
|
+
let attachment = new RegionAttachment(name);
|
|
49
49
|
attachment.setRegion(region);
|
|
50
50
|
return attachment;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
}
|
|
52
|
+
newMeshAttachment(skin, name, path) {
|
|
53
|
+
let region = this.atlas.findRegion(path);
|
|
54
54
|
if (!region)
|
|
55
55
|
throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")");
|
|
56
56
|
region.renderObject = region;
|
|
57
|
-
|
|
57
|
+
let attachment = new MeshAttachment(name);
|
|
58
58
|
attachment.region = region;
|
|
59
59
|
return attachment;
|
|
60
|
-
}
|
|
61
|
-
|
|
60
|
+
}
|
|
61
|
+
newBoundingBoxAttachment(skin, name) {
|
|
62
62
|
return new BoundingBoxAttachment(name);
|
|
63
|
-
}
|
|
64
|
-
|
|
63
|
+
}
|
|
64
|
+
newPathAttachment(skin, name) {
|
|
65
65
|
return new PathAttachment(name);
|
|
66
|
-
}
|
|
67
|
-
|
|
66
|
+
}
|
|
67
|
+
newPointAttachment(skin, name) {
|
|
68
68
|
return new PointAttachment(name);
|
|
69
|
-
}
|
|
70
|
-
|
|
69
|
+
}
|
|
70
|
+
newClippingAttachment(skin, name) {
|
|
71
71
|
return new ClippingAttachment(name);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
export { AtlasAttachmentLoader };
|
|
76
|
-
//# sourceMappingURL=AtlasAttachmentLoader.js.map
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXRsYXNBdHRhY2htZW50TG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0F0bGFzQXR0YWNobWVudExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJbEU7OzsyQkFHMkI7QUFDM0IsTUFBTSxPQUFPLHFCQUFxQjtJQUdqQyxZQUFhLEtBQW1CO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxtQkFBbUIsQ0FBRSxJQUFVLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDMUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixHQUFHLElBQUksR0FBRyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUcsTUFBTSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sVUFBVSxDQUFDO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxJQUFVLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDeEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixHQUFHLElBQUksR0FBRyxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDeEcsTUFBTSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQztJQUVELHdCQUF3QixDQUFFLElBQVUsRUFBRSxJQUFZO1FBQ2pELE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDMUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsa0JBQWtCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDM0MsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQscUJBQXFCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDOUMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRCJ9
|