@eva/plugin-renderer-sprite 1.1.0 → 1.1.1-fix.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/README.md +1 -2
- package/dist/plugin-renderer-sprite.cjs.js +197 -105
- package/dist/plugin-renderer-sprite.cjs.prod.js +1 -16
- package/dist/plugin-renderer-sprite.esm.js +203 -111
- package/index.js +3 -3
- package/package.json +3 -3
- package/dist/EVA.plugin.renderer.sprite.js +0 -199
- package/dist/EVA.plugin.renderer.sprite.min.js +0 -1
- package/dist/examples/index.d.ts +0 -2
- package/dist/examples/index.d.ts.map +0 -1
- package/dist/examples/src/a11y.d.ts +0 -3
- package/dist/examples/src/a11y.d.ts.map +0 -1
- package/dist/examples/src/component.d.ts +0 -3
- package/dist/examples/src/component.d.ts.map +0 -1
- package/dist/examples/src/compressed-texture.d.ts +0 -1
- package/dist/examples/src/compressed-texture.d.ts.map +0 -1
- package/dist/examples/src/dragonbone.d.ts +0 -3
- package/dist/examples/src/dragonbone.d.ts.map +0 -1
- package/dist/examples/src/event.d.ts +0 -3
- package/dist/examples/src/event.d.ts.map +0 -1
- package/dist/examples/src/graphics.d.ts +0 -3
- package/dist/examples/src/graphics.d.ts.map +0 -1
- package/dist/examples/src/image.d.ts +0 -3
- package/dist/examples/src/image.d.ts.map +0 -1
- package/dist/examples/src/loader.d.ts +0 -3
- package/dist/examples/src/loader.d.ts.map +0 -1
- package/dist/examples/src/lottie.d.ts +0 -3
- package/dist/examples/src/lottie.d.ts.map +0 -1
- package/dist/examples/src/mask.d.ts +0 -4
- package/dist/examples/src/mask.d.ts.map +0 -1
- package/dist/examples/src/matter.d.ts +0 -3
- package/dist/examples/src/matter.d.ts.map +0 -1
- package/dist/examples/src/multi-canvas.d.ts +0 -3
- package/dist/examples/src/multi-canvas.d.ts.map +0 -1
- package/dist/examples/src/ninePatch.d.ts +0 -3
- package/dist/examples/src/ninePatch.d.ts.map +0 -1
- package/dist/examples/src/sound.d.ts +0 -3
- package/dist/examples/src/sound.d.ts.map +0 -1
- package/dist/examples/src/spine.d.ts +0 -3
- package/dist/examples/src/spine.d.ts.map +0 -1
- package/dist/examples/src/sprite.d.ts +0 -3
- package/dist/examples/src/sprite.d.ts.map +0 -1
- package/dist/examples/src/spriteAnimation.d.ts +0 -3
- package/dist/examples/src/spriteAnimation.d.ts.map +0 -1
- package/dist/examples/src/text.d.ts +0 -3
- package/dist/examples/src/text.d.ts.map +0 -1
- package/dist/examples/src/tilingSprite.d.ts +0 -3
- package/dist/examples/src/tilingSprite.d.ts.map +0 -1
- package/dist/examples/src/transition.d.ts +0 -3
- package/dist/examples/src/transition.d.ts.map +0 -1
- package/dist/miniprogram.js +0 -248
- package/dist/plugin-renderer-sprite.d.ts +0 -36
package/README.md
CHANGED
|
@@ -20,6 +20,20 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
20
20
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
21
21
|
and limitations under the License.
|
|
22
22
|
***************************************************************************** */
|
|
23
|
+
/* global Reflect, Promise */
|
|
24
|
+
|
|
25
|
+
var extendStatics = function(d, b) {
|
|
26
|
+
extendStatics = Object.setPrototypeOf ||
|
|
27
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
28
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
29
|
+
return extendStatics(d, b);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function __extends(d, b) {
|
|
33
|
+
extendStatics(d, b);
|
|
34
|
+
function __() { this.constructor = d; }
|
|
35
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
36
|
+
}
|
|
23
37
|
|
|
24
38
|
function __decorate(decorators, target, key, desc) {
|
|
25
39
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -35,31 +49,74 @@ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
35
49
|
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
36
50
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
37
51
|
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function __generator(thisArg, body) {
|
|
55
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
56
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
57
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
58
|
+
function step(op) {
|
|
59
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
60
|
+
while (_) try {
|
|
61
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
62
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
63
|
+
switch (op[0]) {
|
|
64
|
+
case 0: case 1: t = op; break;
|
|
65
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
66
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
67
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
68
|
+
default:
|
|
69
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
70
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
71
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
72
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
73
|
+
if (t[2]) _.ops.pop();
|
|
74
|
+
_.trys.pop(); continue;
|
|
75
|
+
}
|
|
76
|
+
op = body.call(thisArg, _);
|
|
77
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
78
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function __values(o) {
|
|
83
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
84
|
+
if (m) return m.call(o);
|
|
85
|
+
return {
|
|
86
|
+
next: function () {
|
|
87
|
+
if (o && i >= o.length) o = void 0;
|
|
88
|
+
return { value: o && o[i++], done: !o };
|
|
89
|
+
}
|
|
90
|
+
};
|
|
38
91
|
}
|
|
39
92
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
93
|
+
var Sprite$3 = (function (_super) {
|
|
94
|
+
__extends(Sprite, _super);
|
|
95
|
+
function Sprite() {
|
|
96
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
97
|
+
_this.resource = '';
|
|
98
|
+
_this.spriteName = '';
|
|
99
|
+
return _this;
|
|
45
100
|
}
|
|
46
|
-
init(obj) {
|
|
101
|
+
Sprite.prototype.init = function (obj) {
|
|
47
102
|
if (obj && obj.resource) {
|
|
48
103
|
this.resource = obj.resource;
|
|
49
104
|
this.spriteName = obj.spriteName;
|
|
50
105
|
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
106
|
+
};
|
|
107
|
+
Sprite.componentName = 'Sprite';
|
|
108
|
+
__decorate([
|
|
109
|
+
eva_js.decorators.IDEProp
|
|
110
|
+
], Sprite.prototype, "resource", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
eva_js.decorators.IDEProp
|
|
113
|
+
], Sprite.prototype, "spriteName", void 0);
|
|
114
|
+
return Sprite;
|
|
115
|
+
}(eva_js.Component));
|
|
116
|
+
var Sprite$4 = Sprite$3;
|
|
60
117
|
|
|
61
|
-
|
|
62
|
-
|
|
118
|
+
var Sprite$2 = (function () {
|
|
119
|
+
function Sprite(image) {
|
|
63
120
|
this._image = null;
|
|
64
121
|
this._image = image;
|
|
65
122
|
if (image) {
|
|
@@ -74,123 +131,158 @@ class Sprite$2 {
|
|
|
74
131
|
this.sprite = new pixi_js.Sprite();
|
|
75
132
|
}
|
|
76
133
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
134
|
+
Object.defineProperty(Sprite.prototype, "image", {
|
|
135
|
+
get: function () {
|
|
136
|
+
return this._image;
|
|
137
|
+
},
|
|
138
|
+
set: function (val) {
|
|
139
|
+
if (this._image === val) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (val instanceof HTMLImageElement) {
|
|
143
|
+
this.sprite.texture && this.sprite.texture.destroy(false);
|
|
144
|
+
this.sprite.texture = pixi_js.Texture.from(val);
|
|
145
|
+
}
|
|
146
|
+
else if (val instanceof pixi_js.Texture) {
|
|
147
|
+
this.sprite.texture = val;
|
|
148
|
+
}
|
|
149
|
+
this._image = val;
|
|
150
|
+
},
|
|
151
|
+
enumerable: false,
|
|
152
|
+
configurable: true
|
|
153
|
+
});
|
|
154
|
+
return Sprite;
|
|
155
|
+
}());
|
|
156
|
+
var SpriteEngine = Sprite$2;
|
|
94
157
|
|
|
95
|
-
|
|
96
|
-
eva_js.resource.registerInstance(eva_js.RESOURCE_TYPE.SPRITE, (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
158
|
+
var resourceKeySplit = '_s|r|c_';
|
|
159
|
+
eva_js.resource.registerInstance(eva_js.RESOURCE_TYPE.SPRITE, function (_a) {
|
|
160
|
+
var name = _a.name, data = _a.data;
|
|
161
|
+
return new Promise(function (r) {
|
|
162
|
+
var e_1, _a;
|
|
163
|
+
var textureObj = data.json;
|
|
164
|
+
var texture = pixi_js.BaseTexture.from(data.image);
|
|
165
|
+
var frames = textureObj.frames || {};
|
|
166
|
+
var animations = textureObj.animations || {};
|
|
167
|
+
var newFrames = {};
|
|
168
|
+
for (var key in frames) {
|
|
169
|
+
var newKey = name + resourceKeySplit + key;
|
|
105
170
|
newFrames[newKey] = frames[key];
|
|
106
171
|
}
|
|
107
|
-
for (
|
|
108
|
-
|
|
172
|
+
for (var key in animations) {
|
|
173
|
+
var spriteList = [];
|
|
109
174
|
if (animations[key] && animations[key].length >= 0) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
175
|
+
try {
|
|
176
|
+
for (var _b = (e_1 = void 0, __values(animations[key])), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
177
|
+
var spriteName = _c.value;
|
|
178
|
+
var newSpriteName = name + resourceKeySplit + spriteName;
|
|
179
|
+
spriteList.push(newSpriteName);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
183
|
+
finally {
|
|
184
|
+
try {
|
|
185
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
186
|
+
}
|
|
187
|
+
finally { if (e_1) throw e_1.error; }
|
|
113
188
|
}
|
|
114
189
|
}
|
|
115
190
|
animations[key] = spriteList;
|
|
116
191
|
}
|
|
117
192
|
textureObj.frames = newFrames;
|
|
118
|
-
|
|
119
|
-
spriteSheet.parse(()
|
|
120
|
-
|
|
193
|
+
var spriteSheet = new pixi_js.Spritesheet(texture, textureObj);
|
|
194
|
+
spriteSheet.parse(function () {
|
|
195
|
+
var textures = spriteSheet.textures;
|
|
121
196
|
r(textures);
|
|
122
197
|
});
|
|
123
198
|
});
|
|
124
199
|
});
|
|
125
|
-
eva_js.resource.registerDestroy(eva_js.RESOURCE_TYPE.SPRITE, (
|
|
200
|
+
eva_js.resource.registerDestroy(eva_js.RESOURCE_TYPE.SPRITE, function (_a) {
|
|
201
|
+
var instance = _a.instance;
|
|
126
202
|
if (!instance)
|
|
127
203
|
return;
|
|
128
|
-
for (
|
|
204
|
+
for (var key in instance) {
|
|
129
205
|
instance[key].destroy(true);
|
|
130
206
|
}
|
|
131
207
|
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
208
|
+
var Sprite = (function (_super) {
|
|
209
|
+
__extends(Sprite, _super);
|
|
210
|
+
function Sprite() {
|
|
211
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
212
|
+
_this.name = 'Sprite';
|
|
213
|
+
_this.sprites = {};
|
|
214
|
+
return _this;
|
|
137
215
|
}
|
|
138
|
-
init() {
|
|
216
|
+
Sprite.prototype.init = function () {
|
|
139
217
|
this.renderSystem = this.game.getSystem(pluginRenderer.RendererSystem);
|
|
140
218
|
this.renderSystem.rendererManager.register(this);
|
|
141
|
-
}
|
|
142
|
-
rendererUpdate(gameObject) {
|
|
143
|
-
|
|
219
|
+
};
|
|
220
|
+
Sprite.prototype.rendererUpdate = function (gameObject) {
|
|
221
|
+
var _a = gameObject.transform.size, width = _a.width, height = _a.height;
|
|
144
222
|
if (this.sprites[gameObject.id]) {
|
|
145
223
|
this.sprites[gameObject.id].sprite.width = width;
|
|
146
224
|
this.sprites[gameObject.id].sprite.height = height;
|
|
147
225
|
}
|
|
148
|
-
}
|
|
149
|
-
componentChanged(changed) {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
226
|
+
};
|
|
227
|
+
Sprite.prototype.componentChanged = function (changed) {
|
|
228
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
229
|
+
var component_1, sprite_1, instance, sprite;
|
|
230
|
+
var _this = this;
|
|
231
|
+
return __generator(this, function (_a) {
|
|
232
|
+
switch (_a.label) {
|
|
233
|
+
case 0:
|
|
234
|
+
if (!(changed.componentName === 'Sprite')) return [3, 4];
|
|
235
|
+
component_1 = changed.component;
|
|
236
|
+
if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 1];
|
|
237
|
+
sprite_1 = new SpriteEngine(null);
|
|
238
|
+
eva_js.resource.getResource(component_1.resource).then(function (_a) {
|
|
239
|
+
var instance = _a.instance;
|
|
240
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
241
|
+
return __generator(this, function (_b) {
|
|
242
|
+
if (!instance) {
|
|
243
|
+
throw new Error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
|
|
244
|
+
}
|
|
245
|
+
sprite_1.image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
|
|
246
|
+
return [2];
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
this.sprites[changed.gameObject.id] = sprite_1;
|
|
251
|
+
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.sprite, 0);
|
|
252
|
+
return [3, 4];
|
|
253
|
+
case 1:
|
|
254
|
+
if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 3];
|
|
255
|
+
return [4, eva_js.resource.getResource(component_1.resource)];
|
|
256
|
+
case 2:
|
|
257
|
+
instance = (_a.sent()).instance;
|
|
156
258
|
if (!instance) {
|
|
157
|
-
throw new Error(
|
|
259
|
+
throw new Error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
|
|
158
260
|
}
|
|
159
|
-
|
|
160
|
-
instance[
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
this.sprites[changed.gameObject.id].image =
|
|
173
|
-
instance[component.resource + resourceKeySplit + component.spriteName];
|
|
174
|
-
}
|
|
175
|
-
else if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
|
|
176
|
-
const sprite = this.sprites[changed.gameObject.id];
|
|
177
|
-
this.containerManager
|
|
178
|
-
.getContainer(changed.gameObject.id)
|
|
179
|
-
.removeChild(sprite.sprite);
|
|
180
|
-
sprite.sprite.destroy({ children: true });
|
|
181
|
-
delete this.sprites[changed.gameObject.id];
|
|
261
|
+
this.sprites[changed.gameObject.id].image =
|
|
262
|
+
instance[component_1.resource + resourceKeySplit + component_1.spriteName];
|
|
263
|
+
return [3, 4];
|
|
264
|
+
case 3:
|
|
265
|
+
if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
|
|
266
|
+
sprite = this.sprites[changed.gameObject.id];
|
|
267
|
+
this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
|
|
268
|
+
sprite.sprite.destroy({ children: true });
|
|
269
|
+
delete this.sprites[changed.gameObject.id];
|
|
270
|
+
}
|
|
271
|
+
_a.label = 4;
|
|
272
|
+
case 4: return [2];
|
|
182
273
|
}
|
|
183
|
-
}
|
|
274
|
+
});
|
|
184
275
|
});
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
Sprite
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
276
|
+
};
|
|
277
|
+
Sprite.systemName = 'Sprite';
|
|
278
|
+
Sprite = __decorate([
|
|
279
|
+
eva_js.decorators.componentObserver({
|
|
280
|
+
Sprite: ['spriteName'],
|
|
281
|
+
})
|
|
282
|
+
], Sprite);
|
|
283
|
+
return Sprite;
|
|
284
|
+
}(pluginRenderer.Renderer));
|
|
193
285
|
var Sprite$1 = Sprite;
|
|
194
286
|
|
|
195
|
-
exports.Sprite = Sprite$
|
|
287
|
+
exports.Sprite = Sprite$4;
|
|
196
288
|
exports.SpriteSystem = Sprite$1;
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/plugin-renderer"),r=require("pixi.js");
|
|
2
|
-
/*! *****************************************************************************
|
|
3
|
-
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
5
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
6
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
-
|
|
8
|
-
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
9
|
-
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
10
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
11
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
12
|
-
|
|
13
|
-
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
|
-
and limitations under the License.
|
|
15
|
-
***************************************************************************** */
|
|
16
|
-
function s(e,t,r,s){var i,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(o=(n<3?i(o):n>3?i(t,r,o):i(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o}function i(e,t,r,s){return new(r||(r=Promise))((function(i,n){function o(e){try{a(s.next(e))}catch(e){n(e)}}function c(e){try{a(s.throw(e))}catch(e){n(e)}}function a(e){e.done?i(e.value):new r((function(t){t(e.value)})).then(o,c)}a((s=s.apply(e,t||[])).next())}))}class n extends e.Component{constructor(){super(...arguments),this.resource="",this.spriteName=""}init(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)}}n.componentName="Sprite",s([e.decorators.IDEProp],n.prototype,"resource",void 0),s([e.decorators.IDEProp],n.prototype,"spriteName",void 0);class o{constructor(e){this._image=null,this._image=e,e?e instanceof HTMLImageElement?this.sprite=r.Sprite.from(e):e instanceof r.Texture&&(this.sprite=new r.Sprite(e)):this.sprite=new r.Sprite}set image(e){this._image!==e&&(e instanceof HTMLImageElement?(this.sprite.texture&&this.sprite.texture.destroy(!1),this.sprite.texture=r.Texture.from(e)):e instanceof r.Texture&&(this.sprite.texture=e),this._image=e)}get image(){return this._image}}e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE,(({name:e,data:t})=>new Promise((s=>{const i=t.json,n=r.BaseTexture.from(t.image),o=i.frames||{},c=i.animations||{},a={};for(const t in o){a[e+"_s|r|c_"+t]=o[t]}for(const t in c){const r=[];if(c[t]&&c[t].length>=0)for(const s of c[t]){const t=e+"_s|r|c_"+s;r.push(t)}c[t]=r}i.frames=a;const p=new r.Spritesheet(n,i);p.parse((()=>{const{textures:e}=p;s(e)}))})))),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE,(({instance:e})=>{if(e)for(const t in e)e[t].destroy(!0)}));let c=class extends t.Renderer{constructor(){super(...arguments),this.name="Sprite",this.sprites={}}init(){this.renderSystem=this.game.getSystem(t.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const{width:t,height:r}=e.transform.size;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=t,this.sprites[e.id].sprite.height=r)}componentChanged(t){return i(this,void 0,void 0,(function*(){if("Sprite"===t.componentName){const r=t.component;if(t.type===e.OBSERVER_TYPE.ADD){const s=new o(null);e.resource.getResource(r.resource).then((({instance:e})=>i(this,void 0,void 0,(function*(){if(!e)throw new Error(`GameObject:${t.gameObject.name}'s Sprite resource load error`);s.image=e[r.resource+"_s|r|c_"+r.spriteName]})))),this.sprites[t.gameObject.id]=s,this.containerManager.getContainer(t.gameObject.id).addChildAt(s.sprite,0)}else if(t.type===e.OBSERVER_TYPE.CHANGE){const{instance:s}=yield e.resource.getResource(r.resource);if(!s)throw new Error(`GameObject:${t.gameObject.name}'s Sprite resource load error`);this.sprites[t.gameObject.id].image=s[r.resource+"_s|r|c_"+r.spriteName]}else if(t.type===e.OBSERVER_TYPE.REMOVE){const e=this.sprites[t.gameObject.id];this.containerManager.getContainer(t.gameObject.id).removeChild(e.sprite),e.sprite.destroy({children:!0}),delete this.sprites[t.gameObject.id]}}}))}};c.systemName="Sprite",c=s([e.decorators.componentObserver({Sprite:["spriteName"]})],c);var a=c;exports.Sprite=n,exports.SpriteSystem=a;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/plugin-renderer"),r=require("pixi.js"),n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},n(e,t)};function i(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function o(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s}function s(e,t,r,n){return new(r||(r=Promise))((function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function a(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){e.done?i(e.value):new r((function(t){t(e.value)})).then(s,a)}c((n=n.apply(e,t||[])).next())}))}function a(e,t){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function c(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}var u=function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.resource="",e.spriteName="",e}return i(r,t),r.prototype.init=function(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)},r.componentName="Sprite",o([e.decorators.IDEProp],r.prototype,"resource",void 0),o([e.decorators.IDEProp],r.prototype,"spriteName",void 0),r}(e.Component),p=u,f=function(){function e(e){this._image=null,this._image=e,e?e instanceof HTMLImageElement?this.sprite=r.Sprite.from(e):e instanceof r.Texture&&(this.sprite=new r.Sprite(e)):this.sprite=new r.Sprite}return Object.defineProperty(e.prototype,"image",{get:function(){return this._image},set:function(e){this._image!==e&&(e instanceof HTMLImageElement?(this.sprite.texture&&this.sprite.texture.destroy(!1),this.sprite.texture=r.Texture.from(e)):e instanceof r.Texture&&(this.sprite.texture=e),this._image=e)},enumerable:!1,configurable:!0}),e}(),l=f;e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE,(function(e){var t=e.name,n=e.data;return new Promise((function(e){var i,o,s=n.json,a=r.BaseTexture.from(n.image),u=s.frames||{},p=s.animations||{},f={};for(var l in u){f[t+"_s|r|c_"+l]=u[l]}for(var l in p){var h=[];if(p[l]&&p[l].length>=0)try{for(var m=(i=void 0,c(p[l])),d=m.next();!d.done;d=m.next()){var y=d.value,v=t+"_s|r|c_"+y;h.push(v)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(i)throw i.error}}p[l]=h}s.frames=f;var g=new r.Spritesheet(a,s);g.parse((function(){var t=g.textures;e(t)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE,(function(e){var t=e.instance;if(t)for(var r in t)t[r].destroy(!0)}));var h=function(r){function n(){var e=null!==r&&r.apply(this,arguments)||this;return e.name="Sprite",e.sprites={},e}return i(n,r),n.prototype.init=function(){this.renderSystem=this.game.getSystem(t.RendererSystem),this.renderSystem.rendererManager.register(this)},n.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=r,this.sprites[e.id].sprite.height=n)},n.prototype.componentChanged=function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,c=this;return a(this,(function(u){switch(u.label){case 0:return"Sprite"!==t.componentName?[3,4]:(r=t.component,t.type!==e.OBSERVER_TYPE.ADD?[3,1]:(n=new l(null),e.resource.getResource(r.resource).then((function(e){var i=e.instance;return s(c,void 0,void 0,(function(){return a(this,(function(e){if(!i)throw new Error("GameObject:"+t.gameObject.name+"'s Sprite resource load error");return n.image=i[r.resource+"_s|r|c_"+r.spriteName],[2]}))}))})),this.sprites[t.gameObject.id]=n,this.containerManager.getContainer(t.gameObject.id).addChildAt(n.sprite,0),[3,4]));case 1:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,3]:[4,e.resource.getResource(r.resource)];case 2:if(!(i=u.sent().instance))throw new Error("GameObject:"+t.gameObject.name+"'s Sprite resource load error");return this.sprites[t.gameObject.id].image=i[r.resource+"_s|r|c_"+r.spriteName],[3,4];case 3:t.type===e.OBSERVER_TYPE.REMOVE&&(o=this.sprites[t.gameObject.id],this.containerManager.getContainer(t.gameObject.id).removeChild(o.sprite),o.sprite.destroy({children:!0}),delete this.sprites[t.gameObject.id]),u.label=4;case 4:return[2]}}))}))},n.systemName="Sprite",n=o([e.decorators.componentObserver({Sprite:["spriteName"]})],n)}(t.Renderer);exports.Sprite=p,exports.SpriteSystem=h;
|