@eva/plugin-renderer-tiling-sprite 1.3.0-alpha.1 → 2.0.0-beta.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/EVA.plugin.renderer.tilingSprite.js +108 -174
- package/dist/EVA.plugin.renderer.tilingSprite.min.js +1 -1
- package/dist/plugin-renderer-tiling-sprite.cjs.js +36 -26
- package/dist/plugin-renderer-tiling-sprite.cjs.prod.js +1 -1
- package/dist/plugin-renderer-tiling-sprite.esm.js +36 -26
- package/package.json +4 -5
|
@@ -1,51 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRenderer, rendererAdapter) {
|
|
1
|
+
window.EVA = window.EVA || {};
|
|
2
|
+
window.EVA.plugin = window.EVA.plugin || {};
|
|
3
|
+
window.EVA.plugin.renderer = window.EVA.plugin.renderer || {};
|
|
4
|
+
var _EVA_IIFE_tilingSprite = function (exports, eva_js, pluginRenderer, rendererAdapter) {
|
|
6
5
|
'use strict';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
_extendStatics = Object.setPrototypeOf || {
|
|
6
|
+
var extendStatics = function (d, b) {
|
|
7
|
+
extendStatics = Object.setPrototypeOf || {
|
|
10
8
|
__proto__: []
|
|
11
9
|
} instanceof Array && function (d, b) {
|
|
12
10
|
d.__proto__ = b;
|
|
13
11
|
} || function (d, b) {
|
|
14
|
-
for (var p in b)
|
|
15
|
-
if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
16
|
-
}
|
|
12
|
+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
17
13
|
};
|
|
18
|
-
|
|
19
|
-
return _extendStatics(d, b);
|
|
14
|
+
return extendStatics(d, b);
|
|
20
15
|
};
|
|
21
|
-
|
|
22
16
|
function __extends(d, b) {
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
extendStatics(d, b);
|
|
25
18
|
function __() {
|
|
26
19
|
this.constructor = d;
|
|
27
20
|
}
|
|
28
|
-
|
|
29
21
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
30
22
|
}
|
|
31
|
-
|
|
32
23
|
function __decorate(decorators, target, key, desc) {
|
|
33
24
|
var c = arguments.length,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--)
|
|
37
|
-
if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
38
|
-
}
|
|
25
|
+
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
|
26
|
+
d;
|
|
27
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
39
28
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
40
29
|
}
|
|
41
|
-
|
|
42
30
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
43
31
|
function adopt(value) {
|
|
44
32
|
return value instanceof P ? value : new P(function (resolve) {
|
|
45
33
|
resolve(value);
|
|
46
34
|
});
|
|
47
35
|
}
|
|
48
|
-
|
|
49
36
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
50
37
|
function fulfilled(value) {
|
|
51
38
|
try {
|
|
@@ -54,7 +41,6 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
54
41
|
reject(e);
|
|
55
42
|
}
|
|
56
43
|
}
|
|
57
|
-
|
|
58
44
|
function rejected(value) {
|
|
59
45
|
try {
|
|
60
46
|
step(generator["throw"](value));
|
|
@@ -62,29 +48,26 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
62
48
|
reject(e);
|
|
63
49
|
}
|
|
64
50
|
}
|
|
65
|
-
|
|
66
51
|
function step(result) {
|
|
67
52
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
68
53
|
}
|
|
69
|
-
|
|
70
54
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
71
55
|
});
|
|
72
56
|
}
|
|
73
|
-
|
|
74
57
|
function __generator(thisArg, body) {
|
|
75
58
|
var _ = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
59
|
+
label: 0,
|
|
60
|
+
sent: function () {
|
|
61
|
+
if (t[0] & 1) throw t[1];
|
|
62
|
+
return t[1];
|
|
63
|
+
},
|
|
64
|
+
trys: [],
|
|
65
|
+
ops: []
|
|
80
66
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
y,
|
|
86
|
-
t,
|
|
87
|
-
g;
|
|
67
|
+
f,
|
|
68
|
+
y,
|
|
69
|
+
t,
|
|
70
|
+
g;
|
|
88
71
|
return g = {
|
|
89
72
|
next: verb(0),
|
|
90
73
|
"throw": verb(1),
|
|
@@ -92,88 +75,66 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
92
75
|
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
93
76
|
return this;
|
|
94
77
|
}), g;
|
|
95
|
-
|
|
96
78
|
function verb(n) {
|
|
97
79
|
return function (v) {
|
|
98
80
|
return step([n, v]);
|
|
99
81
|
};
|
|
100
82
|
}
|
|
101
|
-
|
|
102
83
|
function step(op) {
|
|
103
84
|
if (f) throw new TypeError("Generator is already executing.");
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
85
|
+
while (_) try {
|
|
86
|
+
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;
|
|
87
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
88
|
+
switch (op[0]) {
|
|
89
|
+
case 0:
|
|
90
|
+
case 1:
|
|
91
|
+
t = op;
|
|
92
|
+
break;
|
|
93
|
+
case 4:
|
|
94
|
+
_.label++;
|
|
95
|
+
return {
|
|
96
|
+
value: op[1],
|
|
97
|
+
done: false
|
|
98
|
+
};
|
|
99
|
+
case 5:
|
|
100
|
+
_.label++;
|
|
101
|
+
y = op[1];
|
|
102
|
+
op = [0];
|
|
103
|
+
continue;
|
|
104
|
+
case 7:
|
|
105
|
+
op = _.ops.pop();
|
|
106
|
+
_.trys.pop();
|
|
107
|
+
continue;
|
|
108
|
+
default:
|
|
109
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
110
|
+
_ = 0;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
114
|
+
_.label = op[1];
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
118
|
+
_.label = t[1];
|
|
113
119
|
t = op;
|
|
114
120
|
break;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
_.label
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
_.label++;
|
|
125
|
-
y = op[1];
|
|
126
|
-
op = [0];
|
|
127
|
-
continue;
|
|
128
|
-
|
|
129
|
-
case 7:
|
|
130
|
-
op = _.ops.pop();
|
|
131
|
-
|
|
132
|
-
_.trys.pop();
|
|
133
|
-
|
|
134
|
-
continue;
|
|
135
|
-
|
|
136
|
-
default:
|
|
137
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
138
|
-
_ = 0;
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
143
|
-
_.label = op[1];
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
148
|
-
_.label = t[1];
|
|
149
|
-
t = op;
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
if (t && _.label < t[2]) {
|
|
154
|
-
_.label = t[2];
|
|
155
|
-
|
|
156
|
-
_.ops.push(op);
|
|
157
|
-
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (t[2]) _.ops.pop();
|
|
162
|
-
|
|
163
|
-
_.trys.pop();
|
|
164
|
-
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
op = body.call(thisArg, _);
|
|
169
|
-
} catch (e) {
|
|
170
|
-
op = [6, e];
|
|
171
|
-
y = 0;
|
|
172
|
-
} finally {
|
|
173
|
-
f = t = 0;
|
|
121
|
+
}
|
|
122
|
+
if (t && _.label < t[2]) {
|
|
123
|
+
_.label = t[2];
|
|
124
|
+
_.ops.push(op);
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
if (t[2]) _.ops.pop();
|
|
128
|
+
_.trys.pop();
|
|
129
|
+
continue;
|
|
174
130
|
}
|
|
131
|
+
op = body.call(thisArg, _);
|
|
132
|
+
} catch (e) {
|
|
133
|
+
op = [6, e];
|
|
134
|
+
y = 0;
|
|
135
|
+
} finally {
|
|
136
|
+
f = t = 0;
|
|
175
137
|
}
|
|
176
|
-
|
|
177
138
|
if (op[0] & 5) throw op[1];
|
|
178
139
|
return {
|
|
179
140
|
value: op[0] ? op[1] : void 0,
|
|
@@ -181,20 +142,16 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
181
142
|
};
|
|
182
143
|
}
|
|
183
144
|
}
|
|
184
|
-
|
|
185
145
|
function getIDEPropsPropertyObj(target, propertyKey) {
|
|
186
146
|
if (!target.constructor.IDEProps) {
|
|
187
147
|
target.constructor.IDEProps = {};
|
|
188
148
|
}
|
|
189
|
-
|
|
190
149
|
if (!target.constructor.IDEProps[propertyKey]) {
|
|
191
150
|
target.constructor.IDEProps[propertyKey] = {};
|
|
192
151
|
}
|
|
193
|
-
|
|
194
152
|
var propertyObj = target.constructor.IDEProps[propertyKey];
|
|
195
153
|
return propertyObj;
|
|
196
154
|
}
|
|
197
|
-
|
|
198
155
|
function type(type) {
|
|
199
156
|
return function (target, propertyKey) {
|
|
200
157
|
var prop = getIDEPropsPropertyObj(target, propertyKey);
|
|
@@ -202,20 +159,16 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
202
159
|
prop.type = type;
|
|
203
160
|
};
|
|
204
161
|
}
|
|
205
|
-
|
|
206
162
|
function step(step) {
|
|
207
163
|
return function (target, propertyKey) {
|
|
208
164
|
var prop = getIDEPropsPropertyObj(target, propertyKey);
|
|
209
165
|
prop.step = step;
|
|
210
166
|
};
|
|
211
167
|
}
|
|
212
|
-
|
|
213
168
|
var TilingSprite$2 = function (_super) {
|
|
214
169
|
__extends(TilingSprite, _super);
|
|
215
|
-
|
|
216
170
|
function TilingSprite() {
|
|
217
171
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
218
|
-
|
|
219
172
|
_this.resource = '';
|
|
220
173
|
_this.tileScale = {
|
|
221
174
|
x: 1,
|
|
@@ -227,7 +180,6 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
227
180
|
};
|
|
228
181
|
return _this;
|
|
229
182
|
}
|
|
230
|
-
|
|
231
183
|
TilingSprite.prototype.init = function (obj) {
|
|
232
184
|
if (obj) {
|
|
233
185
|
this.resource = obj.resource;
|
|
@@ -235,96 +187,82 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
235
187
|
this.tilePosition = obj.tilePosition;
|
|
236
188
|
}
|
|
237
189
|
};
|
|
238
|
-
|
|
239
190
|
TilingSprite.componentName = 'TilingSprite';
|
|
240
|
-
|
|
241
191
|
__decorate([type('string')], TilingSprite.prototype, "resource", void 0);
|
|
242
|
-
|
|
243
192
|
__decorate([type('vector2'), step(0.1)], TilingSprite.prototype, "tileScale", void 0);
|
|
244
|
-
|
|
245
193
|
__decorate([type('vector2'), step(1)], TilingSprite.prototype, "tilePosition", void 0);
|
|
246
|
-
|
|
247
194
|
return TilingSprite;
|
|
248
195
|
}(eva_js.Component);
|
|
249
|
-
|
|
250
196
|
var TilingSprite$3 = TilingSprite$2;
|
|
251
|
-
|
|
252
197
|
var TilingSprite = function (_super) {
|
|
253
198
|
__extends(TilingSprite, _super);
|
|
254
|
-
|
|
255
199
|
function TilingSprite() {
|
|
256
200
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
257
|
-
|
|
258
201
|
_this.name = 'TilingSprite';
|
|
259
202
|
_this.imgs = {};
|
|
260
203
|
return _this;
|
|
261
204
|
}
|
|
262
|
-
|
|
263
205
|
TilingSprite.prototype.init = function () {
|
|
264
206
|
this.renderSystem = this.game.getSystem(pluginRenderer.RendererSystem);
|
|
265
207
|
this.renderSystem.rendererManager.register(this);
|
|
266
208
|
};
|
|
267
|
-
|
|
268
209
|
TilingSprite.prototype.rendererUpdate = function (gameObject) {
|
|
269
210
|
var _a = gameObject.transform.size,
|
|
270
|
-
|
|
271
|
-
|
|
211
|
+
width = _a.width,
|
|
212
|
+
height = _a.height;
|
|
272
213
|
var img = this.imgs[gameObject.id];
|
|
273
|
-
|
|
274
214
|
if (img) {
|
|
275
215
|
img.tilingSprite.width = width;
|
|
276
216
|
img.tilingSprite.height = height;
|
|
277
217
|
}
|
|
278
218
|
};
|
|
279
|
-
|
|
280
219
|
TilingSprite.prototype.componentChanged = function (changed) {
|
|
281
220
|
return __awaiter(this, void 0, void 0, function () {
|
|
282
|
-
var component,
|
|
221
|
+
var gameObjectId, component, sprite, asyncId, data, asyncId, data, sprite;
|
|
283
222
|
return __generator(this, function (_a) {
|
|
284
223
|
switch (_a.label) {
|
|
285
224
|
case 0:
|
|
286
|
-
|
|
225
|
+
gameObjectId = changed.gameObject.id;
|
|
226
|
+
if (!(changed.componentName === 'TilingSprite')) return [3, 7];
|
|
287
227
|
component = changed.component;
|
|
288
|
-
if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3,
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
if (!data) {
|
|
294
|
-
throw new Error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
sprite_1.image = data.image;
|
|
298
|
-
});
|
|
299
|
-
this.imgs[changed.gameObject.id] = sprite_1;
|
|
300
|
-
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.tilingSprite, 0);
|
|
228
|
+
if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 2];
|
|
229
|
+
sprite = new rendererAdapter.TilingSprite(null);
|
|
230
|
+
this.imgs[changed.gameObject.id] = sprite;
|
|
231
|
+
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.tilingSprite, 0);
|
|
301
232
|
this.setProp(changed.gameObject.id, component);
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
case 1:
|
|
305
|
-
if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 5];
|
|
306
|
-
if (!(changed.prop.prop[0] === 'resource')) return [3, 3];
|
|
233
|
+
asyncId = this.increaseAsyncId(gameObjectId);
|
|
307
234
|
return [4, eva_js.resource.getResource(component.resource)];
|
|
308
|
-
|
|
235
|
+
case 1:
|
|
236
|
+
data = _a.sent().data;
|
|
237
|
+
if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
|
|
238
|
+
if (!data) {
|
|
239
|
+
console.error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
240
|
+
return [2];
|
|
241
|
+
}
|
|
242
|
+
sprite.image = data.image;
|
|
243
|
+
return [3, 7];
|
|
309
244
|
case 2:
|
|
245
|
+
if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 6];
|
|
246
|
+
if (!(changed.prop.prop[0] === 'resource')) return [3, 4];
|
|
247
|
+
asyncId = this.increaseAsyncId(gameObjectId);
|
|
248
|
+
return [4, eva_js.resource.getResource(component.resource)];
|
|
249
|
+
case 3:
|
|
310
250
|
data = _a.sent().data;
|
|
311
|
-
|
|
251
|
+
if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
|
|
312
252
|
if (!data) {
|
|
313
|
-
|
|
253
|
+
console.error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
254
|
+
return [2];
|
|
314
255
|
}
|
|
315
|
-
|
|
316
256
|
this.imgs[changed.gameObject.id].image = data.image;
|
|
317
|
-
return [3,
|
|
318
|
-
|
|
319
|
-
case 3:
|
|
320
|
-
this.setProp(changed.gameObject.id, component);
|
|
321
|
-
_a.label = 4;
|
|
322
|
-
|
|
257
|
+
return [3, 5];
|
|
323
258
|
case 4:
|
|
324
|
-
|
|
325
|
-
|
|
259
|
+
this.setProp(changed.gameObject.id, component);
|
|
260
|
+
_a.label = 5;
|
|
326
261
|
case 5:
|
|
262
|
+
return [3, 7];
|
|
263
|
+
case 6:
|
|
327
264
|
if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
|
|
265
|
+
this.increaseAsyncId(gameObjectId);
|
|
328
266
|
sprite = this.imgs[changed.gameObject.id];
|
|
329
267
|
this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.tilingSprite);
|
|
330
268
|
sprite.tilingSprite.destroy({
|
|
@@ -332,21 +270,17 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
332
270
|
});
|
|
333
271
|
delete this.imgs[changed.gameObject.id];
|
|
334
272
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
case 6:
|
|
273
|
+
_a.label = 7;
|
|
274
|
+
case 7:
|
|
339
275
|
return [2];
|
|
340
276
|
}
|
|
341
277
|
});
|
|
342
278
|
});
|
|
343
279
|
};
|
|
344
|
-
|
|
345
280
|
TilingSprite.prototype.setProp = function (id, component) {
|
|
346
281
|
this.imgs[id].tilingSprite.tilePosition = component.tilePosition;
|
|
347
282
|
this.imgs[id].tilingSprite.tileScale = component.tileScale;
|
|
348
283
|
};
|
|
349
|
-
|
|
350
284
|
TilingSprite = __decorate([eva_js.decorators.componentObserver({
|
|
351
285
|
TilingSprite: [{
|
|
352
286
|
prop: ['resource'],
|
|
@@ -361,7 +295,6 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
361
295
|
})], TilingSprite);
|
|
362
296
|
return TilingSprite;
|
|
363
297
|
}(pluginRenderer.Renderer);
|
|
364
|
-
|
|
365
298
|
var TilingSprite$1 = TilingSprite;
|
|
366
299
|
exports.TilingSprite = TilingSprite$3;
|
|
367
300
|
exports.TilingSpriteSystem = TilingSprite$1;
|
|
@@ -370,3 +303,4 @@ this.EVA.plugin.renderer.tilingSprite = function (exports, eva_js, pluginRendere
|
|
|
370
303
|
});
|
|
371
304
|
return exports;
|
|
372
305
|
}({}, EVA, EVA.plugin.renderer, EVA.rendererAdapter);
|
|
306
|
+
window.EVA.plugin.renderer.tilingSprite = window.EVA.plugin.renderer.tilingSprite || _EVA_IIFE_tilingSprite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
window.EVA=window.EVA||{},window.EVA.plugin=window.EVA.plugin||{},window.EVA.plugin.renderer=window.EVA.plugin.renderer||{};var _EVA_IIFE_tilingSprite=function(e,t,r,n){"use strict";var i=function(e,t){return i=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])},i(e,t)};function o(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function c(e,t,r,n){var i,o=arguments.length,c=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(c=(o<3?i(c):o>3?i(t,r,c):i(t,r))||c);return o>3&&c&&Object.defineProperty(t,r,c),c}function s(e,t,r,n){return new(r||(r=Promise))((function(i,o){function c(e){try{a(n.next(e))}catch(e){o(e)}}function s(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,s)}a((n=n.apply(e,t||[])).next())}))}function a(e,t){var r,n,i,o,c={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;c;)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 c.label++,{value:o[1],done:!1};case 5:c.label++,n=o[1],o=[0];continue;case 7:o=c.ops.pop(),c.trys.pop();continue;default:if(!(i=c.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){c=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){c.label=o[1];break}if(6===o[0]&&c.label<i[1]){c.label=i[1],i=o;break}if(i&&c.label<i[2]){c.label=i[2],c.ops.push(o);break}i[2]&&c.ops.pop(),c.trys.pop();continue}o=t.call(e,c)}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,s])}}}function l(e,t){return e.constructor.IDEProps||(e.constructor.IDEProps={}),e.constructor.IDEProps[t]||(e.constructor.IDEProps[t]={}),e.constructor.IDEProps[t]}function p(e){return function(t,r){var n=l(t,r);n.key=r,n.type=e}}function u(e){return function(t,r){l(t,r).step=e}}var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.tileScale={x:1,y:1},t.tilePosition={x:0,y:0},t}return o(t,e),t.prototype.init=function(e){e&&(this.resource=e.resource,this.tileScale=e.tileScale,this.tilePosition=e.tilePosition)},t.componentName="TilingSprite",c([p("string")],t.prototype,"resource",void 0),c([p("vector2"),u(.1)],t.prototype,"tileScale",void 0),c([p("vector2"),u(1)],t.prototype,"tilePosition",void 0),t}(t.Component),g=d,f=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="TilingSprite",t.imgs={},t}return o(i,e),i.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},i.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height,i=this.imgs[e.id];i&&(i.tilingSprite.width=r,i.tilingSprite.height=n)},i.prototype.componentChanged=function(e){return s(this,void 0,void 0,(function(){var r,i,o,c,s;return a(this,(function(a){switch(a.label){case 0:return r=e.gameObject.id,"TilingSprite"!==e.componentName?[3,7]:(i=e.component,e.type!==t.OBSERVER_TYPE.ADD?[3,2]:(s=new n.TilingSprite(null),this.imgs[e.gameObject.id]=s,this.containerManager.getContainer(e.gameObject.id).addChildAt(s.tilingSprite,0),this.setProp(e.gameObject.id,i),o=this.increaseAsyncId(r),[4,t.resource.getResource(i.resource)]));case 1:return c=a.sent().data,this.validateAsyncId(r,o)?c?(s.image=c.image,[3,7]):(console.error("GameObject:"+e.gameObject.name+"'s TilingSprite resource load error"),[2]):[2];case 2:return e.type!==t.OBSERVER_TYPE.CHANGE?[3,6]:"resource"!==e.prop.prop[0]?[3,4]:(o=this.increaseAsyncId(r),[4,t.resource.getResource(i.resource)]);case 3:return c=a.sent().data,this.validateAsyncId(r,o)?c?(this.imgs[e.gameObject.id].image=c.image,[3,5]):(console.error("GameObject:"+e.gameObject.name+"'s TilingSprite resource load error"),[2]):[2];case 4:this.setProp(e.gameObject.id,i),a.label=5;case 5:return[3,7];case 6:e.type===t.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),s=this.imgs[e.gameObject.id],this.containerManager.getContainer(e.gameObject.id).removeChild(s.tilingSprite),s.tilingSprite.destroy({children:!0}),delete this.imgs[e.gameObject.id]),a.label=7;case 7:return[2]}}))}))},i.prototype.setProp=function(e,t){this.imgs[e].tilingSprite.tilePosition=t.tilePosition,this.imgs[e].tilingSprite.tileScale=t.tileScale},i=c([t.decorators.componentObserver({TilingSprite:[{prop:["resource"],deep:!1},{prop:["tileScale"],deep:!0},{prop:["tilePosition"],deep:!0}]})],i)}(r.Renderer),h=f;return e.TilingSprite=g,e.TilingSpriteSystem=h,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,EVA.rendererAdapter);window.EVA.plugin.renderer.tilingSprite=window.EVA.plugin.renderer.tilingSprite||_EVA_IIFE_tilingSprite;
|
|
@@ -140,51 +140,61 @@ var TilingSprite = (function (_super) {
|
|
|
140
140
|
};
|
|
141
141
|
TilingSprite.prototype.componentChanged = function (changed) {
|
|
142
142
|
return __awaiter(this, void 0, void 0, function () {
|
|
143
|
-
var component,
|
|
143
|
+
var gameObjectId, component, sprite, asyncId, data, asyncId, data, sprite;
|
|
144
144
|
return __generator(this, function (_a) {
|
|
145
145
|
switch (_a.label) {
|
|
146
146
|
case 0:
|
|
147
|
-
|
|
147
|
+
gameObjectId = changed.gameObject.id;
|
|
148
|
+
if (!(changed.componentName === 'TilingSprite')) return [3, 7];
|
|
148
149
|
component = changed.component;
|
|
149
|
-
if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (!data) {
|
|
154
|
-
throw new Error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
155
|
-
}
|
|
156
|
-
sprite_1.image = data.image;
|
|
157
|
-
});
|
|
158
|
-
this.imgs[changed.gameObject.id] = sprite_1;
|
|
159
|
-
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.tilingSprite, 0);
|
|
150
|
+
if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 2];
|
|
151
|
+
sprite = new rendererAdapter.TilingSprite(null);
|
|
152
|
+
this.imgs[changed.gameObject.id] = sprite;
|
|
153
|
+
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.tilingSprite, 0);
|
|
160
154
|
this.setProp(changed.gameObject.id, component);
|
|
161
|
-
|
|
162
|
-
case 1:
|
|
163
|
-
if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 5];
|
|
164
|
-
if (!(changed.prop.prop[0] === 'resource')) return [3, 3];
|
|
155
|
+
asyncId = this.increaseAsyncId(gameObjectId);
|
|
165
156
|
return [4, eva_js.resource.getResource(component.resource)];
|
|
157
|
+
case 1:
|
|
158
|
+
data = (_a.sent()).data;
|
|
159
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
160
|
+
return [2];
|
|
161
|
+
if (!data) {
|
|
162
|
+
console.error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
163
|
+
return [2];
|
|
164
|
+
}
|
|
165
|
+
sprite.image = data.image;
|
|
166
|
+
return [3, 7];
|
|
166
167
|
case 2:
|
|
168
|
+
if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 6];
|
|
169
|
+
if (!(changed.prop.prop[0] === 'resource')) return [3, 4];
|
|
170
|
+
asyncId = this.increaseAsyncId(gameObjectId);
|
|
171
|
+
return [4, eva_js.resource.getResource(component.resource)];
|
|
172
|
+
case 3:
|
|
167
173
|
data = (_a.sent()).data;
|
|
174
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
175
|
+
return [2];
|
|
168
176
|
if (!data) {
|
|
169
|
-
|
|
177
|
+
console.error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
178
|
+
return [2];
|
|
170
179
|
}
|
|
171
180
|
this.imgs[changed.gameObject.id].image = data.image;
|
|
172
|
-
return [3,
|
|
173
|
-
case
|
|
181
|
+
return [3, 5];
|
|
182
|
+
case 4:
|
|
174
183
|
this.setProp(changed.gameObject.id, component);
|
|
175
|
-
_a.label =
|
|
176
|
-
case
|
|
177
|
-
case
|
|
184
|
+
_a.label = 5;
|
|
185
|
+
case 5: return [3, 7];
|
|
186
|
+
case 6:
|
|
178
187
|
if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
|
|
188
|
+
this.increaseAsyncId(gameObjectId);
|
|
179
189
|
sprite = this.imgs[changed.gameObject.id];
|
|
180
190
|
this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.tilingSprite);
|
|
181
191
|
sprite.tilingSprite.destroy({
|
|
182
|
-
children: true
|
|
192
|
+
children: true,
|
|
183
193
|
});
|
|
184
194
|
delete this.imgs[changed.gameObject.id];
|
|
185
195
|
}
|
|
186
|
-
_a.label =
|
|
187
|
-
case
|
|
196
|
+
_a.label = 7;
|
|
197
|
+
case 7: return [2];
|
|
188
198
|
}
|
|
189
199
|
});
|
|
190
200
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/inspector-decorator"),r=require("@eva/plugin-renderer"),i=require("@eva/renderer-adapter"),n=function(e,t){return
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/inspector-decorator"),r=require("@eva/plugin-renderer"),i=require("@eva/renderer-adapter"),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 o(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function c(e,t,r,i){var n,o=arguments.length,c=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(c=(o<3?n(c):o>3?n(t,r,c):n(t,r))||c);return o>3&&c&&Object.defineProperty(t,r,c),c}function a(e,t){var r,i,n,o,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[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(;c;)try{if(r=1,i&&(n=2&o[0]?i.return:o[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,o[1])).done)return n;switch(i=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return c.label++,{value:o[1],done:!1};case 5:c.label++,i=o[1],o=[0];continue;case 7:o=c.ops.pop(),c.trys.pop();continue;default:if(!(n=c.trys,(n=n.length>0&&n[n.length-1])||6!==o[0]&&2!==o[0])){c=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3])){c.label=o[1];break}if(6===o[0]&&c.label<n[1]){c.label=n[1],n=o;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(o);break}n[2]&&c.ops.pop(),c.trys.pop();continue}o=t.call(e,c)}catch(e){o=[6,e],i=0}finally{r=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var s=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.tileScale={x:1,y:1},t.tilePosition={x:0,y:0},t}return o(r,e),r.prototype.init=function(e){e&&(this.resource=e.resource,this.tileScale=e.tileScale,this.tilePosition=e.tilePosition)},r.componentName="TilingSprite",c([t.type("string")],r.prototype,"resource",void 0),c([t.type("vector2"),t.step(.1)],r.prototype,"tileScale",void 0),c([t.type("vector2"),t.step(1)],r.prototype,"tilePosition",void 0),r}(e.Component),l=s,p=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="TilingSprite",e.imgs={},e}return o(n,t),n.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},n.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,i=t.height,n=this.imgs[e.id];n&&(n.tilingSprite.width=r,n.tilingSprite.height=i)},n.prototype.componentChanged=function(t){return r=this,n=void 0,c=function(){var r,n,o,c,s;return a(this,(function(a){switch(a.label){case 0:return r=t.gameObject.id,"TilingSprite"!==t.componentName?[3,7]:(n=t.component,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:(s=new i.TilingSprite(null),this.imgs[t.gameObject.id]=s,this.containerManager.getContainer(t.gameObject.id).addChildAt(s.tilingSprite,0),this.setProp(t.gameObject.id,n),o=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]));case 1:return c=a.sent().data,this.validateAsyncId(r,o)?c?(s.image=c.image,[3,7]):(console.error("GameObject:"+t.gameObject.name+"'s TilingSprite resource load error"),[2]):[2];case 2:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,6]:"resource"!==t.prop.prop[0]?[3,4]:(o=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]);case 3:return c=a.sent().data,this.validateAsyncId(r,o)?c?(this.imgs[t.gameObject.id].image=c.image,[3,5]):(console.error("GameObject:"+t.gameObject.name+"'s TilingSprite resource load error"),[2]):[2];case 4:this.setProp(t.gameObject.id,n),a.label=5;case 5:return[3,7];case 6:t.type===e.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),s=this.imgs[t.gameObject.id],this.containerManager.getContainer(t.gameObject.id).removeChild(s.tilingSprite),s.tilingSprite.destroy({children:!0}),delete this.imgs[t.gameObject.id]),a.label=7;case 7:return[2]}}))},new((o=void 0)||(o=Promise))((function(e,t){function i(e){try{s(c.next(e))}catch(e){t(e)}}function a(e){try{s(c.throw(e))}catch(e){t(e)}}function s(t){t.done?e(t.value):new o((function(e){e(t.value)})).then(i,a)}s((c=c.apply(r,n||[])).next())}));var r,n,o,c},n.prototype.setProp=function(e,t){this.imgs[e].tilingSprite.tilePosition=t.tilePosition,this.imgs[e].tilingSprite.tileScale=t.tileScale},n=c([e.decorators.componentObserver({TilingSprite:[{prop:["resource"],deep:!1},{prop:["tileScale"],deep:!0},{prop:["tilePosition"],deep:!0}]})],n)}(r.Renderer);exports.TilingSprite=l,exports.TilingSpriteSystem=p;
|
|
@@ -136,51 +136,61 @@ var TilingSprite = (function (_super) {
|
|
|
136
136
|
};
|
|
137
137
|
TilingSprite.prototype.componentChanged = function (changed) {
|
|
138
138
|
return __awaiter(this, void 0, void 0, function () {
|
|
139
|
-
var component,
|
|
139
|
+
var gameObjectId, component, sprite, asyncId, data, asyncId, data, sprite;
|
|
140
140
|
return __generator(this, function (_a) {
|
|
141
141
|
switch (_a.label) {
|
|
142
142
|
case 0:
|
|
143
|
-
|
|
143
|
+
gameObjectId = changed.gameObject.id;
|
|
144
|
+
if (!(changed.componentName === 'TilingSprite')) return [3, 7];
|
|
144
145
|
component = changed.component;
|
|
145
|
-
if (!(changed.type === OBSERVER_TYPE.ADD)) return [3,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (!data) {
|
|
150
|
-
throw new Error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
151
|
-
}
|
|
152
|
-
sprite_1.image = data.image;
|
|
153
|
-
});
|
|
154
|
-
this.imgs[changed.gameObject.id] = sprite_1;
|
|
155
|
-
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.tilingSprite, 0);
|
|
146
|
+
if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
|
|
147
|
+
sprite = new TilingSprite$4(null);
|
|
148
|
+
this.imgs[changed.gameObject.id] = sprite;
|
|
149
|
+
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.tilingSprite, 0);
|
|
156
150
|
this.setProp(changed.gameObject.id, component);
|
|
157
|
-
|
|
158
|
-
case 1:
|
|
159
|
-
if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 5];
|
|
160
|
-
if (!(changed.prop.prop[0] === 'resource')) return [3, 3];
|
|
151
|
+
asyncId = this.increaseAsyncId(gameObjectId);
|
|
161
152
|
return [4, resource.getResource(component.resource)];
|
|
153
|
+
case 1:
|
|
154
|
+
data = (_a.sent()).data;
|
|
155
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
156
|
+
return [2];
|
|
157
|
+
if (!data) {
|
|
158
|
+
console.error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
159
|
+
return [2];
|
|
160
|
+
}
|
|
161
|
+
sprite.image = data.image;
|
|
162
|
+
return [3, 7];
|
|
162
163
|
case 2:
|
|
164
|
+
if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 6];
|
|
165
|
+
if (!(changed.prop.prop[0] === 'resource')) return [3, 4];
|
|
166
|
+
asyncId = this.increaseAsyncId(gameObjectId);
|
|
167
|
+
return [4, resource.getResource(component.resource)];
|
|
168
|
+
case 3:
|
|
163
169
|
data = (_a.sent()).data;
|
|
170
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
171
|
+
return [2];
|
|
164
172
|
if (!data) {
|
|
165
|
-
|
|
173
|
+
console.error("GameObject:" + changed.gameObject.name + "'s TilingSprite resource load error");
|
|
174
|
+
return [2];
|
|
166
175
|
}
|
|
167
176
|
this.imgs[changed.gameObject.id].image = data.image;
|
|
168
|
-
return [3,
|
|
169
|
-
case
|
|
177
|
+
return [3, 5];
|
|
178
|
+
case 4:
|
|
170
179
|
this.setProp(changed.gameObject.id, component);
|
|
171
|
-
_a.label =
|
|
172
|
-
case
|
|
173
|
-
case
|
|
180
|
+
_a.label = 5;
|
|
181
|
+
case 5: return [3, 7];
|
|
182
|
+
case 6:
|
|
174
183
|
if (changed.type === OBSERVER_TYPE.REMOVE) {
|
|
184
|
+
this.increaseAsyncId(gameObjectId);
|
|
175
185
|
sprite = this.imgs[changed.gameObject.id];
|
|
176
186
|
this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.tilingSprite);
|
|
177
187
|
sprite.tilingSprite.destroy({
|
|
178
|
-
children: true
|
|
188
|
+
children: true,
|
|
179
189
|
});
|
|
180
190
|
delete this.imgs[changed.gameObject.id];
|
|
181
191
|
}
|
|
182
|
-
_a.label =
|
|
183
|
-
case
|
|
192
|
+
_a.label = 7;
|
|
193
|
+
case 7: return [2];
|
|
184
194
|
}
|
|
185
195
|
});
|
|
186
196
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eva/plugin-renderer-tiling-sprite",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.1",
|
|
4
4
|
"description": "@eva/plugin-renderer-tiling-sprite",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/plugin-renderer-tiling-sprite.esm.js",
|
|
@@ -19,9 +19,8 @@
|
|
|
19
19
|
"homepage": "https://eva.js.org",
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@eva/inspector-decorator": "^0.0.5",
|
|
22
|
-
"@eva/plugin-renderer": "
|
|
23
|
-
"@eva/renderer-adapter": "
|
|
24
|
-
"@eva/eva.js": "
|
|
25
|
-
"@types/pixi.js": "^4.8.9"
|
|
22
|
+
"@eva/plugin-renderer": "2.0.0-beta.1",
|
|
23
|
+
"@eva/renderer-adapter": "2.0.0-beta.1",
|
|
24
|
+
"@eva/eva.js": "2.0.0-beta.1"
|
|
26
25
|
}
|
|
27
26
|
}
|