@eva/plugin-renderer 2.0.0-beta.1 → 2.0.0-beta.2
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.js +265 -618
- package/dist/EVA.plugin.renderer.min.js +1 -1
- package/dist/plugin-renderer.cjs.js +228 -489
- package/dist/plugin-renderer.cjs.prod.js +16 -1
- package/dist/plugin-renderer.esm.js +226 -487
- package/package.json +3 -3
|
@@ -18,31 +18,6 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
18
18
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
19
19
|
and limitations under the License.
|
|
20
20
|
***************************************************************************** */
|
|
21
|
-
/* global Reflect, Promise */
|
|
22
|
-
|
|
23
|
-
var extendStatics = function(d, b) {
|
|
24
|
-
extendStatics = Object.setPrototypeOf ||
|
|
25
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
26
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
27
|
-
return extendStatics(d, b);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
function __extends(d, b) {
|
|
31
|
-
extendStatics(d, b);
|
|
32
|
-
function __() { this.constructor = d; }
|
|
33
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
var __assign = function() {
|
|
37
|
-
__assign = Object.assign || function __assign(t) {
|
|
38
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
39
|
-
s = arguments[i];
|
|
40
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
41
|
-
}
|
|
42
|
-
return t;
|
|
43
|
-
};
|
|
44
|
-
return __assign.apply(this, arguments);
|
|
45
|
-
};
|
|
46
21
|
|
|
47
22
|
function __decorate(decorators, target, key, desc) {
|
|
48
23
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -58,293 +33,137 @@ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
58
33
|
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
59
34
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
60
35
|
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function __generator(thisArg, body) {
|
|
64
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
65
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
66
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
67
|
-
function step(op) {
|
|
68
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
69
|
-
while (_) try {
|
|
70
|
-
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;
|
|
71
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
72
|
-
switch (op[0]) {
|
|
73
|
-
case 0: case 1: t = op; break;
|
|
74
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
75
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
76
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
77
|
-
default:
|
|
78
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
79
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
80
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
81
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
82
|
-
if (t[2]) _.ops.pop();
|
|
83
|
-
_.trys.pop(); continue;
|
|
84
|
-
}
|
|
85
|
-
op = body.call(thisArg, _);
|
|
86
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
87
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function __values(o) {
|
|
92
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
93
|
-
if (m) return m.call(o);
|
|
94
|
-
return {
|
|
95
|
-
next: function () {
|
|
96
|
-
if (o && i >= o.length) o = void 0;
|
|
97
|
-
return { value: o && o[i++], done: !o };
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function __read(o, n) {
|
|
103
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
104
|
-
if (!m) return o;
|
|
105
|
-
var i = m.call(o), r, ar = [], e;
|
|
106
|
-
try {
|
|
107
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
108
|
-
}
|
|
109
|
-
catch (error) { e = { error: error }; }
|
|
110
|
-
finally {
|
|
111
|
-
try {
|
|
112
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
113
|
-
}
|
|
114
|
-
finally { if (e) throw e.error; }
|
|
115
|
-
}
|
|
116
|
-
return ar;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function __spread() {
|
|
120
|
-
for (var ar = [], i = 0; i < arguments.length; i++)
|
|
121
|
-
ar = ar.concat(__read(arguments[i]));
|
|
122
|
-
return ar;
|
|
123
36
|
}
|
|
124
37
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
var game = _a.game, rendererSystem = _a.rendererSystem;
|
|
38
|
+
class RendererManager {
|
|
39
|
+
constructor({ game, rendererSystem }) {
|
|
128
40
|
this.renderers = [];
|
|
129
41
|
this.game = game;
|
|
130
42
|
this.rendererSystem = rendererSystem;
|
|
131
43
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
try {
|
|
139
|
-
for (var renderers_1 = __values(renderers), renderers_1_1 = renderers_1.next(); !renderers_1_1.done; renderers_1_1 = renderers_1.next()) {
|
|
140
|
-
var renderer = renderers_1_1.value;
|
|
141
|
-
renderer.game = this.game;
|
|
142
|
-
renderer.rendererManager = this.rendererSystem.rendererManager;
|
|
143
|
-
renderer.containerManager = this.rendererSystem.containerManager;
|
|
144
|
-
this.renderers.push(renderer);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
148
|
-
finally {
|
|
149
|
-
try {
|
|
150
|
-
if (renderers_1_1 && !renderers_1_1.done && (_a = renderers_1.return)) _a.call(renderers_1);
|
|
151
|
-
}
|
|
152
|
-
finally { if (e_1) throw e_1.error; }
|
|
44
|
+
register(...renderers) {
|
|
45
|
+
for (const renderer of renderers) {
|
|
46
|
+
renderer.game = this.game;
|
|
47
|
+
renderer.rendererManager = this.rendererSystem.rendererManager;
|
|
48
|
+
renderer.containerManager = this.rendererSystem.containerManager;
|
|
49
|
+
this.renderers.push(renderer);
|
|
153
50
|
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
if (props) {
|
|
164
|
-
if ([OBSERVER_TYPE.ADD, OBSERVER_TYPE.REMOVE].indexOf(changed.type) > -1) {
|
|
165
|
-
try {
|
|
166
|
-
renderer.componentChanged && renderer.componentChanged(changed);
|
|
167
|
-
}
|
|
168
|
-
catch (e) {
|
|
169
|
-
console.error("gameObject: " + changed.gameObject.name + ", " + changed.componentName + " is error.", changed, e);
|
|
170
|
-
}
|
|
171
|
-
continue;
|
|
51
|
+
}
|
|
52
|
+
componentChanged(changes) {
|
|
53
|
+
for (const changed of changes) {
|
|
54
|
+
for (const renderer of this.renderers) {
|
|
55
|
+
const props = renderer.observerInfo[changed.componentName];
|
|
56
|
+
if (props) {
|
|
57
|
+
if ([OBSERVER_TYPE.ADD, OBSERVER_TYPE.REMOVE].indexOf(changed.type) > -1) {
|
|
58
|
+
try {
|
|
59
|
+
renderer.componentChanged && renderer.componentChanged(changed);
|
|
172
60
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
});
|
|
176
|
-
if (index > -1) {
|
|
177
|
-
try {
|
|
178
|
-
renderer.componentChanged && renderer.componentChanged(changed);
|
|
179
|
-
}
|
|
180
|
-
catch (e) {
|
|
181
|
-
console.error("gameObject: " + (changed.gameObject && changed.gameObject.name) + ", " + changed.componentName + " is componentChanged error.", changed, e);
|
|
182
|
-
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.error(`gameObject: ${changed.gameObject.name}, ${changed.componentName} is error.`, changed, e);
|
|
183
63
|
}
|
|
64
|
+
continue;
|
|
184
65
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
};
|
|
195
|
-
var this_1 = this;
|
|
196
|
-
try {
|
|
197
|
-
for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
|
|
198
|
-
var changed = changes_1_1.value;
|
|
199
|
-
_loop_1(changed);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
203
|
-
finally {
|
|
204
|
-
try {
|
|
205
|
-
if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
|
|
206
|
-
}
|
|
207
|
-
finally { if (e_2) throw e_2.error; }
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
RendererManager.prototype.update = function (gameObject) {
|
|
211
|
-
var e_4, _a, e_5, _b;
|
|
212
|
-
try {
|
|
213
|
-
for (var _c = __values(gameObject.components), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
214
|
-
var component = _d.value;
|
|
215
|
-
try {
|
|
216
|
-
for (var _e = (e_5 = void 0, __values(this.renderers)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
217
|
-
var renderer = _f.value;
|
|
218
|
-
var cache = [];
|
|
219
|
-
var props = renderer.observerInfo[component.name];
|
|
220
|
-
if (props && cache.indexOf(gameObject) === -1) {
|
|
221
|
-
cache.push(gameObject);
|
|
222
|
-
try {
|
|
223
|
-
renderer.rendererUpdate && renderer.rendererUpdate(gameObject);
|
|
224
|
-
}
|
|
225
|
-
catch (e) {
|
|
226
|
-
console.info("gameObject: " + gameObject.name + ", " + component.name + " is update error", e);
|
|
227
|
-
}
|
|
66
|
+
const index = props.findIndex(prop => {
|
|
67
|
+
return isEqual(prop, changed.prop);
|
|
68
|
+
});
|
|
69
|
+
if (index > -1) {
|
|
70
|
+
try {
|
|
71
|
+
renderer.componentChanged && renderer.componentChanged(changed);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
console.error(`gameObject: ${changed.gameObject && changed.gameObject.name}, ${changed.componentName} is componentChanged error.`, changed, e);
|
|
228
75
|
}
|
|
229
76
|
}
|
|
230
77
|
}
|
|
231
|
-
|
|
232
|
-
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
update(gameObject) {
|
|
82
|
+
for (const component of gameObject.components) {
|
|
83
|
+
for (const renderer of this.renderers) {
|
|
84
|
+
const cache = [];
|
|
85
|
+
const props = renderer.observerInfo[component.name];
|
|
86
|
+
if (props && cache.indexOf(gameObject) === -1) {
|
|
87
|
+
cache.push(gameObject);
|
|
233
88
|
try {
|
|
234
|
-
|
|
89
|
+
renderer.rendererUpdate && renderer.rendererUpdate(gameObject);
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
console.info(`gameObject: ${gameObject.name}, ${component.name} is update error`, e);
|
|
235
93
|
}
|
|
236
|
-
finally { if (e_5) throw e_5.error; }
|
|
237
94
|
}
|
|
238
95
|
}
|
|
239
96
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
try {
|
|
243
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
244
|
-
}
|
|
245
|
-
finally { if (e_4) throw e_4.error; }
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
return RendererManager;
|
|
249
|
-
}());
|
|
97
|
+
}
|
|
98
|
+
}
|
|
250
99
|
var RendererManager$1 = RendererManager;
|
|
251
100
|
|
|
252
|
-
|
|
253
|
-
|
|
101
|
+
class ContainerManager {
|
|
102
|
+
constructor() {
|
|
254
103
|
this.containerMap = {};
|
|
255
104
|
}
|
|
256
|
-
|
|
257
|
-
var name = _a.name, container = _a.container;
|
|
105
|
+
addContainer({ name, container }) {
|
|
258
106
|
this.containerMap[name] = container;
|
|
259
|
-
}
|
|
260
|
-
|
|
107
|
+
}
|
|
108
|
+
getContainer(name) {
|
|
261
109
|
return this.containerMap[name];
|
|
262
|
-
}
|
|
263
|
-
|
|
110
|
+
}
|
|
111
|
+
removeContainer(name) {
|
|
264
112
|
var _a;
|
|
265
113
|
(_a = this.containerMap[name]) === null || _a === void 0 ? void 0 : _a.destroy({ children: true });
|
|
266
114
|
delete this.containerMap[name];
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
var container = this.containerMap[name];
|
|
115
|
+
}
|
|
116
|
+
updateTransform({ name, transform }) {
|
|
117
|
+
const container = this.containerMap[name];
|
|
271
118
|
if (!container || !transform)
|
|
272
119
|
return;
|
|
273
|
-
|
|
120
|
+
const { anchor, origin, position, rotation, scale, size, skew } = transform;
|
|
274
121
|
container.rotation = rotation;
|
|
275
122
|
container.scale = scale;
|
|
276
123
|
container.pivot.x = size.width * origin.x;
|
|
277
124
|
container.pivot.y = size.height * origin.y;
|
|
278
125
|
container.skew = skew;
|
|
279
|
-
|
|
280
|
-
|
|
126
|
+
let x = position.x;
|
|
127
|
+
let y = position.y;
|
|
281
128
|
if (transform.parent) {
|
|
282
|
-
|
|
283
|
-
x = x +
|
|
284
|
-
y = y +
|
|
129
|
+
const parent = transform.parent;
|
|
130
|
+
x = x + parent.size.width * anchor.x;
|
|
131
|
+
y = y + parent.size.height * anchor.y;
|
|
285
132
|
}
|
|
286
|
-
container.position = { x
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
}());
|
|
290
|
-
var ContainerManager$1 = ContainerManager;
|
|
133
|
+
container.position = { x, y };
|
|
134
|
+
}
|
|
135
|
+
}
|
|
291
136
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
_this.containerManager = containerManager;
|
|
301
|
-
_this.init(system);
|
|
302
|
-
return _this;
|
|
137
|
+
let Transform = class Transform extends EventEmitter {
|
|
138
|
+
constructor({ system, containerManager }) {
|
|
139
|
+
super();
|
|
140
|
+
this.name = 'Transform';
|
|
141
|
+
this.waitRemoveIds = [];
|
|
142
|
+
this.waitChangeScenes = [];
|
|
143
|
+
this.containerManager = containerManager;
|
|
144
|
+
this.init(system);
|
|
303
145
|
}
|
|
304
|
-
|
|
305
|
-
var _this = this;
|
|
146
|
+
init(system) {
|
|
306
147
|
this.system = system;
|
|
307
|
-
this.on('changeScene',
|
|
308
|
-
|
|
309
|
-
_this.waitChangeScenes.push({ scene: scene, mode: mode, application: application });
|
|
148
|
+
this.on('changeScene', ({ scene, mode, application }) => {
|
|
149
|
+
this.waitChangeScenes.push({ scene, mode, application });
|
|
310
150
|
});
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for (var _c = __values(this.waitRemoveIds), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
316
|
-
var id = _d.value;
|
|
317
|
-
this.containerManager.removeContainer(id);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
321
|
-
finally {
|
|
322
|
-
try {
|
|
323
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
324
|
-
}
|
|
325
|
-
finally { if (e_1) throw e_1.error; }
|
|
151
|
+
}
|
|
152
|
+
update() {
|
|
153
|
+
for (const id of this.waitRemoveIds) {
|
|
154
|
+
this.containerManager.removeContainer(id);
|
|
326
155
|
}
|
|
327
156
|
this.waitRemoveIds = [];
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
sceneInfo.application.stage.removeChildren();
|
|
334
|
-
sceneInfo.application.stage.addChild(container);
|
|
335
|
-
}
|
|
157
|
+
for (const sceneInfo of this.waitChangeScenes) {
|
|
158
|
+
const container = this.containerManager.getContainer(sceneInfo.scene.id);
|
|
159
|
+
if (container) {
|
|
160
|
+
sceneInfo.application.stage.removeChildren();
|
|
161
|
+
sceneInfo.application.stage.addChild(container);
|
|
336
162
|
}
|
|
337
163
|
}
|
|
338
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
339
|
-
finally {
|
|
340
|
-
try {
|
|
341
|
-
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
342
|
-
}
|
|
343
|
-
finally { if (e_2) throw e_2.error; }
|
|
344
|
-
}
|
|
345
164
|
this.waitChangeScenes = [];
|
|
346
|
-
}
|
|
347
|
-
|
|
165
|
+
}
|
|
166
|
+
componentChanged(changed) {
|
|
348
167
|
if (changed.type === OBSERVER_TYPE.ADD) {
|
|
349
168
|
this.addContainer(changed);
|
|
350
169
|
}
|
|
@@ -354,48 +173,47 @@ var Transform = (function (_super) {
|
|
|
354
173
|
else if (changed.type === OBSERVER_TYPE.REMOVE) {
|
|
355
174
|
this.waitRemoveIds.push(changed.gameObject.id);
|
|
356
175
|
}
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
|
|
176
|
+
}
|
|
177
|
+
addContainer(changed) {
|
|
178
|
+
const container = new Container();
|
|
360
179
|
container.label = changed.gameObject.name;
|
|
361
180
|
this.containerManager.addContainer({
|
|
362
181
|
name: changed.gameObject.id,
|
|
363
|
-
container
|
|
182
|
+
container,
|
|
364
183
|
});
|
|
365
|
-
|
|
184
|
+
const transform = changed.component;
|
|
366
185
|
transform.worldTransform = container.worldTransform;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
|
|
186
|
+
}
|
|
187
|
+
change(changed) {
|
|
188
|
+
const transform = changed.component;
|
|
370
189
|
if (transform.parent) {
|
|
371
|
-
|
|
190
|
+
const parentContainer = this.containerManager.getContainer(transform.parent.gameObject.id);
|
|
372
191
|
parentContainer.addChild(this.containerManager.getContainer(changed.gameObject.id));
|
|
373
|
-
|
|
192
|
+
const render = changed.gameObject.transform.parent &&
|
|
374
193
|
changed.gameObject.transform.parent.gameObject.getComponent('Render');
|
|
375
194
|
if (render) {
|
|
376
195
|
render.sortDirty = true;
|
|
377
196
|
}
|
|
378
197
|
}
|
|
379
198
|
else {
|
|
380
|
-
|
|
199
|
+
const container = this.containerManager.getContainer(changed.gameObject.id);
|
|
381
200
|
delete transform.worldTransform;
|
|
382
201
|
container.parent && container.parent.removeChild(container);
|
|
383
202
|
}
|
|
384
|
-
}
|
|
385
|
-
|
|
203
|
+
}
|
|
204
|
+
destroy() {
|
|
386
205
|
this.removeAllListeners();
|
|
387
206
|
this.waitRemoveIds = null;
|
|
388
207
|
this.waitChangeScenes = null;
|
|
389
208
|
this.system = null;
|
|
390
209
|
this.containerManager = null;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
}(EventEmitter));
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
Transform = __decorate([
|
|
213
|
+
decorators.componentObserver({
|
|
214
|
+
Transform: ['_parent'],
|
|
215
|
+
})
|
|
216
|
+
], Transform);
|
|
399
217
|
var Transform$1 = Transform;
|
|
400
218
|
|
|
401
219
|
var RENDERER_TYPE;
|
|
@@ -404,167 +222,104 @@ var RENDERER_TYPE;
|
|
|
404
222
|
RENDERER_TYPE[RENDERER_TYPE["WEBGL"] = 1] = "WEBGL";
|
|
405
223
|
RENDERER_TYPE[RENDERER_TYPE["CANVAS"] = 2] = "CANVAS";
|
|
406
224
|
})(RENDERER_TYPE || (RENDERER_TYPE = {}));
|
|
407
|
-
|
|
225
|
+
const disableScroll = renderer => {
|
|
408
226
|
renderer.events.autoPreventDefault = true;
|
|
409
227
|
renderer.canvas.style.touchAction = 'none';
|
|
410
228
|
};
|
|
411
|
-
|
|
229
|
+
const enableScroll = renderer => {
|
|
412
230
|
renderer.events.autoPreventDefault = false;
|
|
413
231
|
renderer.canvas.style.touchAction = 'auto';
|
|
414
232
|
};
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
_this.multiApps = [];
|
|
420
|
-
return _this;
|
|
233
|
+
let Renderer$1 = class Renderer extends System {
|
|
234
|
+
constructor() {
|
|
235
|
+
super(...arguments);
|
|
236
|
+
this.multiApps = [];
|
|
421
237
|
}
|
|
422
|
-
|
|
423
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
});
|
|
444
|
-
|
|
445
|
-
var scene = _a.scene, mode = _a.mode, params = _a.params;
|
|
446
|
-
var application;
|
|
447
|
-
switch (mode) {
|
|
448
|
-
case LOAD_SCENE_MODE.SINGLE:
|
|
449
|
-
application = _this.application;
|
|
450
|
-
break;
|
|
451
|
-
case LOAD_SCENE_MODE.MULTI_CANVAS:
|
|
452
|
-
application = _this.createMultiApplication({ params: params });
|
|
453
|
-
break;
|
|
454
|
-
}
|
|
455
|
-
scene.canvas = application.canvas;
|
|
456
|
-
_this.transform.emit('changeScene', {
|
|
457
|
-
scene: scene,
|
|
458
|
-
mode: mode,
|
|
459
|
-
application: application,
|
|
460
|
-
});
|
|
461
|
-
});
|
|
462
|
-
return [2];
|
|
238
|
+
init(params) {
|
|
239
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
240
|
+
this.params = params;
|
|
241
|
+
this.application = yield this.createApplication(params);
|
|
242
|
+
this.containerManager = new ContainerManager();
|
|
243
|
+
this.rendererManager = new RendererManager$1({
|
|
244
|
+
game: this.game,
|
|
245
|
+
rendererSystem: this,
|
|
246
|
+
});
|
|
247
|
+
this.game.canvas = this.application.canvas;
|
|
248
|
+
this.transform = new Transform$1({
|
|
249
|
+
system: this,
|
|
250
|
+
containerManager: this.containerManager,
|
|
251
|
+
});
|
|
252
|
+
this.game.on('sceneChanged', ({ scene, mode, params }) => {
|
|
253
|
+
let application;
|
|
254
|
+
switch (mode) {
|
|
255
|
+
case LOAD_SCENE_MODE.SINGLE:
|
|
256
|
+
application = this.application;
|
|
257
|
+
break;
|
|
258
|
+
case LOAD_SCENE_MODE.MULTI_CANVAS:
|
|
259
|
+
application = this.createMultiApplication({ params });
|
|
260
|
+
break;
|
|
463
261
|
}
|
|
262
|
+
scene.canvas = application.canvas;
|
|
263
|
+
this.transform.emit('changeScene', {
|
|
264
|
+
scene,
|
|
265
|
+
mode,
|
|
266
|
+
application,
|
|
267
|
+
});
|
|
464
268
|
});
|
|
465
269
|
});
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
for (var key in observerInfo) {
|
|
270
|
+
}
|
|
271
|
+
registerObserver(observerInfo) {
|
|
272
|
+
const thisObserverInfo = this.constructor.observerInfo;
|
|
273
|
+
for (const key in observerInfo) {
|
|
471
274
|
if (!thisObserverInfo[key]) {
|
|
472
275
|
thisObserverInfo[key] = [];
|
|
473
276
|
}
|
|
474
|
-
|
|
277
|
+
thisObserverInfo[key].push(...observerInfo[key]);
|
|
475
278
|
}
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
return
|
|
482
|
-
switch (_b.label) {
|
|
483
|
-
case 0: return [4, this.createApplication(params)];
|
|
484
|
-
case 1:
|
|
485
|
-
app = _b.sent();
|
|
486
|
-
this.multiApps.push(app);
|
|
487
|
-
return [2, app];
|
|
488
|
-
}
|
|
489
|
-
});
|
|
490
|
-
});
|
|
491
|
-
};
|
|
492
|
-
Renderer.prototype.createApplication = function (params) {
|
|
493
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
494
|
-
var app;
|
|
495
|
-
return __generator(this, function (_a) {
|
|
496
|
-
switch (_a.label) {
|
|
497
|
-
case 0:
|
|
498
|
-
app = new Application();
|
|
499
|
-
if (params.debugMode) {
|
|
500
|
-
globalThis.__PIXI_APP__ = app;
|
|
501
|
-
}
|
|
502
|
-
return [4, app.init(__assign(__assign({ sharedTicker: true }, params), { hello: true }))];
|
|
503
|
-
case 1:
|
|
504
|
-
_a.sent();
|
|
505
|
-
Ticker.shared.stop();
|
|
506
|
-
Ticker.shared.autoStart = false;
|
|
507
|
-
if (params.enableScroll !== undefined) {
|
|
508
|
-
params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
|
|
509
|
-
}
|
|
510
|
-
return [2, app];
|
|
511
|
-
}
|
|
512
|
-
});
|
|
279
|
+
}
|
|
280
|
+
createMultiApplication({ params }) {
|
|
281
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
282
|
+
const app = yield this.createApplication(params);
|
|
283
|
+
this.multiApps.push(app);
|
|
284
|
+
return app;
|
|
513
285
|
});
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
var changed = changes_1_1.value;
|
|
521
|
-
this.transform.componentChanged(changed);
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
525
|
-
finally {
|
|
526
|
-
try {
|
|
527
|
-
if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
|
|
286
|
+
}
|
|
287
|
+
createApplication(params) {
|
|
288
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
289
|
+
const app = new Application();
|
|
290
|
+
if (params.debugMode) {
|
|
291
|
+
globalThis.__PIXI_APP__ = app;
|
|
528
292
|
}
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
this.containerManager.updateTransform({
|
|
535
|
-
name: gameObject.id,
|
|
536
|
-
transform: gameObject.transform,
|
|
537
|
-
});
|
|
538
|
-
this.rendererManager.update(gameObject);
|
|
293
|
+
yield app.init(Object.assign(Object.assign({ sharedTicker: true }, params), { hello: true }));
|
|
294
|
+
Ticker.shared.stop();
|
|
295
|
+
Ticker.shared.autoStart = false;
|
|
296
|
+
if (params.enableScroll !== undefined) {
|
|
297
|
+
params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
|
|
539
298
|
}
|
|
299
|
+
return app;
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
update() {
|
|
303
|
+
const changes = this.componentObserver.clear();
|
|
304
|
+
for (const changed of changes) {
|
|
305
|
+
this.transform.componentChanged(changed);
|
|
540
306
|
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
}
|
|
546
|
-
|
|
307
|
+
for (const gameObject of this.game.gameObjects) {
|
|
308
|
+
this.containerManager.updateTransform({
|
|
309
|
+
name: gameObject.id,
|
|
310
|
+
transform: gameObject.transform,
|
|
311
|
+
});
|
|
312
|
+
this.rendererManager.update(gameObject);
|
|
547
313
|
}
|
|
548
|
-
}
|
|
549
|
-
|
|
314
|
+
}
|
|
315
|
+
lateUpdate(e) {
|
|
550
316
|
this.transform.update();
|
|
551
317
|
this.application.ticker.update(e.time);
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
var e_3, _a;
|
|
318
|
+
}
|
|
319
|
+
onDestroy() {
|
|
555
320
|
this.application.destroy();
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
var app = _c.value;
|
|
559
|
-
app && app.destroy();
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
563
|
-
finally {
|
|
564
|
-
try {
|
|
565
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
566
|
-
}
|
|
567
|
-
finally { if (e_3) throw e_3.error; }
|
|
321
|
+
for (const app of this.multiApps) {
|
|
322
|
+
app && app.destroy();
|
|
568
323
|
}
|
|
569
324
|
this.transform.destroy();
|
|
570
325
|
this.transform = null;
|
|
@@ -574,69 +329,27 @@ var Renderer$2 = (function (_super) {
|
|
|
574
329
|
this.application = null;
|
|
575
330
|
this.game = null;
|
|
576
331
|
this.multiApps = null;
|
|
577
|
-
}
|
|
578
|
-
|
|
332
|
+
}
|
|
333
|
+
resize(width, height) {
|
|
579
334
|
this.params.width = width;
|
|
580
335
|
this.params.height = height;
|
|
581
336
|
this.application.renderer.resize(width, height);
|
|
582
|
-
};
|
|
583
|
-
Renderer.systemName = 'Renderer';
|
|
584
|
-
Renderer = __decorate([
|
|
585
|
-
decorators.componentObserver({
|
|
586
|
-
Transform: ['_parent'],
|
|
587
|
-
})
|
|
588
|
-
], Renderer);
|
|
589
|
-
return Renderer;
|
|
590
|
-
}(System));
|
|
591
|
-
var Renderer$3 = Renderer$2;
|
|
592
|
-
|
|
593
|
-
var Renderer = (function (_super) {
|
|
594
|
-
__extends(Renderer, _super);
|
|
595
|
-
function Renderer(params) {
|
|
596
|
-
var _this = _super.call(this, params) || this;
|
|
597
|
-
_this.asyncIdMap = {};
|
|
598
|
-
_this.observerInfo = _this.constructor.observerInfo;
|
|
599
|
-
return _this;
|
|
600
337
|
}
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
this.componentChanged(changed);
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
613
|
-
finally {
|
|
614
|
-
try {
|
|
615
|
-
if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
|
|
616
|
-
}
|
|
617
|
-
finally { if (e_1) throw e_1.error; }
|
|
618
|
-
}
|
|
619
|
-
};
|
|
620
|
-
Renderer.prototype.increaseAsyncId = function (id) {
|
|
621
|
-
this.asyncIdMap[id] = (this.asyncIdMap[id] || 0) + 1;
|
|
622
|
-
return this.asyncIdMap[id];
|
|
623
|
-
};
|
|
624
|
-
Renderer.prototype.validateAsyncId = function (id, asyncId) {
|
|
625
|
-
return this.asyncIdMap[id] === asyncId;
|
|
626
|
-
};
|
|
627
|
-
return Renderer;
|
|
628
|
-
}(System));
|
|
629
|
-
var Renderer$1 = Renderer;
|
|
630
|
-
|
|
631
|
-
var mixinPIXI = function () {
|
|
632
|
-
};
|
|
338
|
+
};
|
|
339
|
+
Renderer$1.systemName = 'Renderer';
|
|
340
|
+
Renderer$1 = __decorate([
|
|
341
|
+
decorators.componentObserver({
|
|
342
|
+
Transform: ['_parent'],
|
|
343
|
+
})
|
|
344
|
+
], Renderer$1);
|
|
345
|
+
var Renderer$2 = Renderer$1;
|
|
633
346
|
|
|
634
|
-
|
|
347
|
+
let result = undefined;
|
|
635
348
|
function getSuportCompressedTextureFormats() {
|
|
636
349
|
if (result)
|
|
637
350
|
return result;
|
|
638
|
-
|
|
639
|
-
|
|
351
|
+
const canvas = document.createElement('canvas');
|
|
352
|
+
const gl = canvas.getContext('webgl2') || canvas.getContext('webgl');
|
|
640
353
|
if (!gl) {
|
|
641
354
|
console.warn('WebGL not available for compressed textures. Silently failing.');
|
|
642
355
|
return {
|
|
@@ -659,7 +372,7 @@ function getSuportCompressedTextureFormats() {
|
|
|
659
372
|
try {
|
|
660
373
|
console.log('Eva.js Supported Compressed Texture Format List: ' +
|
|
661
374
|
Object.keys(result)
|
|
662
|
-
.filter(
|
|
375
|
+
.filter(type => result[type])
|
|
663
376
|
.join(', '));
|
|
664
377
|
}
|
|
665
378
|
catch (e) { }
|
|
@@ -669,14 +382,14 @@ function getSuportCompressedTextureFormats() {
|
|
|
669
382
|
function addPreProcessResourceHandler(resource) {
|
|
670
383
|
resource.addPreProcessResourceHandler(function normalizeResource(resource) {
|
|
671
384
|
var _a, _b, _c;
|
|
672
|
-
|
|
385
|
+
let textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
|
|
673
386
|
if (!textures)
|
|
674
387
|
return;
|
|
675
388
|
if (!Array.isArray(textures)) {
|
|
676
389
|
textures = [textures];
|
|
677
390
|
}
|
|
678
|
-
|
|
679
|
-
|
|
391
|
+
const formats = (_c = getSuportCompressedTextureFormats()) !== null && _c !== void 0 ? _c : {};
|
|
392
|
+
let target = textures.find(texture => formats[texture.type]);
|
|
680
393
|
if (target) {
|
|
681
394
|
Object.assign(resource.src.image, target);
|
|
682
395
|
}
|
|
@@ -691,6 +404,32 @@ function registerKtx2CompressedTexture(params) {
|
|
|
691
404
|
addPreProcessResourceHandler(resource);
|
|
692
405
|
}
|
|
693
406
|
|
|
407
|
+
class Renderer extends System {
|
|
408
|
+
constructor(params) {
|
|
409
|
+
super(params);
|
|
410
|
+
this.asyncIdMap = {};
|
|
411
|
+
this.observerInfo = this.constructor.observerInfo;
|
|
412
|
+
}
|
|
413
|
+
componentChanged(_changed) { }
|
|
414
|
+
rendererUpdate(_gameObject) { }
|
|
415
|
+
update(e) {
|
|
416
|
+
const changes = this.componentObserver.clear();
|
|
417
|
+
for (const changed of changes) {
|
|
418
|
+
this.componentChanged(changed);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
increaseAsyncId(id) {
|
|
422
|
+
this.asyncIdMap[id] = (this.asyncIdMap[id] || 0) + 1;
|
|
423
|
+
return this.asyncIdMap[id];
|
|
424
|
+
}
|
|
425
|
+
validateAsyncId(id, asyncId) {
|
|
426
|
+
return this.asyncIdMap[id] === asyncId;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
const mixinPIXI = () => {
|
|
431
|
+
};
|
|
432
|
+
|
|
694
433
|
mixinPIXI();
|
|
695
434
|
|
|
696
|
-
export { ContainerManager
|
|
435
|
+
export { ContainerManager, RENDERER_TYPE, Renderer, RendererManager$1 as RendererManager, Renderer$2 as RendererSystem, registerKtx2CompressedTexture };
|