@eva/eva.js 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.js +515 -1456
- package/dist/EVA.min.js +1 -1
- package/dist/eva.js.cjs.js +172 -134
- package/dist/eva.js.cjs.prod.js +2 -2
- package/dist/eva.js.d.ts +14 -19
- package/dist/eva.js.esm.js +173 -135
- package/package.json +1 -1
package/dist/eva.js.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { Resource as Resource_2 } from 'resource-loader';
|
|
|
9
9
|
import { ResourceState } from 'resource-loader';
|
|
10
10
|
import { ResourceType } from 'resource-loader';
|
|
11
11
|
import { VideoLoadStrategy } from 'resource-loader';
|
|
12
|
-
import { XhrLoadStrategy } from 'resource-loader';
|
|
13
12
|
import { XhrResponseType } from 'resource-loader';
|
|
14
13
|
|
|
15
14
|
export declare class Component<T extends ComponentParams = {}> extends EventEmitter {
|
|
@@ -74,12 +73,12 @@ export declare class Game extends EventEmitter {
|
|
|
74
73
|
multiScenes: Scene[];
|
|
75
74
|
ticker: Ticker;
|
|
76
75
|
systems: System[];
|
|
77
|
-
|
|
76
|
+
init({ systems, frameRate, autoStart, needScene }?: GameParams): Promise<void>;
|
|
78
77
|
get scene(): Scene;
|
|
79
78
|
set scene(scene: Scene);
|
|
80
79
|
get gameObjects(): any[];
|
|
81
|
-
addSystem<T extends System>(S: T): T
|
|
82
|
-
addSystem<T extends System>(S: SystemConstructor<T>, obj?: ConstructorParameters<SystemConstructor<T>>): T
|
|
80
|
+
addSystem<T extends System>(S: T): Promise<T>;
|
|
81
|
+
addSystem<T extends System>(S: SystemConstructor<T>, obj?: ConstructorParameters<SystemConstructor<T>>): Promise<T>;
|
|
83
82
|
removeSystem<S extends System>(system: S | SystemConstructor<S> | string): void;
|
|
84
83
|
getSystem<T extends System>(S: SystemConstructor<T> | string): T;
|
|
85
84
|
pause(): void;
|
|
@@ -99,6 +98,7 @@ export declare class GameObject {
|
|
|
99
98
|
private _componentCache;
|
|
100
99
|
id: number;
|
|
101
100
|
components: Component<ComponentParams>[];
|
|
101
|
+
destroyed: boolean;
|
|
102
102
|
constructor(name: string, obj?: TransformParams);
|
|
103
103
|
get transform(): Transform;
|
|
104
104
|
get parent(): GameObject;
|
|
@@ -162,7 +162,7 @@ declare interface LoadSceneParams {
|
|
|
162
162
|
forceFXAA?: boolean;
|
|
163
163
|
legacy?: boolean;
|
|
164
164
|
autoResize?: boolean;
|
|
165
|
-
powerPreference?:
|
|
165
|
+
powerPreference?: 'high-performance';
|
|
166
166
|
};
|
|
167
167
|
}
|
|
168
168
|
|
|
@@ -191,8 +191,8 @@ declare interface ObserverProp {
|
|
|
191
191
|
declare type ObserverValue = observableKeys | ObserverProp;
|
|
192
192
|
|
|
193
193
|
export declare interface PluginStruct {
|
|
194
|
-
Components?: typeof Component[];
|
|
195
|
-
Systems?: typeof System[];
|
|
194
|
+
Components?: (typeof Component)[];
|
|
195
|
+
Systems?: (typeof System)[];
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
declare type PreProcessResourceHandler = (res: ResourceBase) => void;
|
|
@@ -224,7 +224,6 @@ declare class Resource extends EE {
|
|
|
224
224
|
private makeInstanceFunctions;
|
|
225
225
|
private destroyInstanceFunctions;
|
|
226
226
|
private promiseMap;
|
|
227
|
-
private loaders;
|
|
228
227
|
progress: Progress;
|
|
229
228
|
constructor(options?: {
|
|
230
229
|
timeout: number;
|
|
@@ -239,12 +238,13 @@ declare class Resource extends EE {
|
|
|
239
238
|
private instance;
|
|
240
239
|
destroy(name: string): Promise<void>;
|
|
241
240
|
private _destroy;
|
|
241
|
+
registerResourceType(type: string, value?: string): void;
|
|
242
242
|
registerInstance(type: RESOURCE_TYPE | string, callback: ResourceProcessFn): void;
|
|
243
243
|
registerDestroy(type: RESOURCE_TYPE | string, callback: ResourceProcessFn): void;
|
|
244
244
|
private loadResource;
|
|
245
245
|
doComplete(name: any, resolve: any, preload?: boolean): Promise<void>;
|
|
246
246
|
checkAllLoaded(name: any): boolean;
|
|
247
|
-
getLoader(
|
|
247
|
+
getLoader(_preload?: boolean): void;
|
|
248
248
|
private onLoad;
|
|
249
249
|
private onError;
|
|
250
250
|
}
|
|
@@ -255,17 +255,11 @@ export declare enum RESOURCE_TYPE {
|
|
|
255
255
|
'IMAGE' = "IMAGE",
|
|
256
256
|
'SPRITE' = "SPRITE",
|
|
257
257
|
'SPRITE_ANIMATION' = "SPRITE_ANIMATION",
|
|
258
|
-
'DRAGONBONE' = "DRAGONBONE",
|
|
259
|
-
'PARTICLES' = "PARTICLES",
|
|
260
|
-
'LOTTIE' = "LOTTIE",
|
|
261
|
-
'SPINE' = "SPINE",
|
|
262
258
|
'AUDIO' = "AUDIO",
|
|
263
259
|
'VIDEO' = "VIDEO"
|
|
264
260
|
}
|
|
265
261
|
|
|
266
|
-
export declare const RESOURCE_TYPE_STRATEGY: {
|
|
267
|
-
[type: string]: new (...args: any[]) => AbstractLoadStrategy;
|
|
268
|
-
};
|
|
262
|
+
export declare const RESOURCE_TYPE_STRATEGY: {};
|
|
269
263
|
|
|
270
264
|
export declare interface ResourceBase {
|
|
271
265
|
name: string;
|
|
@@ -281,6 +275,7 @@ export declare interface ResourceBase {
|
|
|
281
275
|
};
|
|
282
276
|
complete?: boolean;
|
|
283
277
|
preload?: boolean;
|
|
278
|
+
v2?: boolean;
|
|
284
279
|
}
|
|
285
280
|
|
|
286
281
|
export declare const resourceLoader: {
|
|
@@ -290,7 +285,6 @@ export declare const resourceLoader: {
|
|
|
290
285
|
XhrResponseType: typeof XhrResponseType;
|
|
291
286
|
MediaElementLoadStrategy: typeof MediaElementLoadStrategy;
|
|
292
287
|
VideoLoadStrategy: typeof VideoLoadStrategy;
|
|
293
|
-
XhrLoadStrategy: typeof XhrLoadStrategy;
|
|
294
288
|
Loader: typeof Loader;
|
|
295
289
|
Resource: typeof Resource_2;
|
|
296
290
|
ResourceType: typeof ResourceType;
|
|
@@ -311,6 +305,7 @@ declare interface ResourceStruct extends ResourceBase {
|
|
|
311
305
|
audio?: ArrayBuffer;
|
|
312
306
|
[propName: string]: any;
|
|
313
307
|
};
|
|
308
|
+
v2?: boolean;
|
|
314
309
|
instance?: any;
|
|
315
310
|
}
|
|
316
311
|
|
|
@@ -427,7 +422,7 @@ declare interface TransformMatrix {
|
|
|
427
422
|
d: number;
|
|
428
423
|
tx: number;
|
|
429
424
|
ty: number;
|
|
430
|
-
array
|
|
425
|
+
array: Float32Array | null;
|
|
431
426
|
}
|
|
432
427
|
|
|
433
428
|
export declare interface TransformParams extends ComponentParams {
|
|
@@ -453,6 +448,6 @@ declare interface Vector2 {
|
|
|
453
448
|
y: number;
|
|
454
449
|
}
|
|
455
450
|
|
|
456
|
-
export declare const version = "
|
|
451
|
+
export declare const version = "2.0.0-beta.1";
|
|
457
452
|
|
|
458
453
|
export { }
|
package/dist/eva.js.esm.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import EventEmitter from 'eventemitter3';
|
|
2
|
-
import {
|
|
2
|
+
import { isObject, isEqual } from 'lodash-es';
|
|
3
3
|
import { type, step } from '@eva/inspector-decorator';
|
|
4
|
-
import {
|
|
4
|
+
import { Assets } from 'pixi.js';
|
|
5
|
+
import { AbstractLoadStrategy, AudioLoadStrategy, ImageLoadStrategy, XhrResponseType, MediaElementLoadStrategy, VideoLoadStrategy, Loader, Resource as Resource$1, ResourceType, ResourceState } from 'resource-loader';
|
|
5
6
|
|
|
6
7
|
/*! *****************************************************************************
|
|
7
8
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -164,8 +165,9 @@ function removeObjectCache(component) {
|
|
|
164
165
|
}
|
|
165
166
|
}
|
|
166
167
|
function addObserver(_a) {
|
|
168
|
+
var _b, _c;
|
|
167
169
|
var systemName = _a.systemName, componentName = _a.componentName, component = _a.component, prop = _a.prop, type = _a.type;
|
|
168
|
-
systemInstance[systemName].componentObserver.add({
|
|
170
|
+
(_c = (_b = systemInstance[systemName]) === null || _b === void 0 ? void 0 : _b.componentObserver) === null || _c === void 0 ? void 0 : _c.add({
|
|
169
171
|
component: component,
|
|
170
172
|
prop: prop,
|
|
171
173
|
type: type,
|
|
@@ -326,12 +328,13 @@ function observer(component, componentName) {
|
|
|
326
328
|
}
|
|
327
329
|
}
|
|
328
330
|
function observerAdded(component, componentName) {
|
|
331
|
+
var _a, _b;
|
|
329
332
|
if (componentName === void 0) { componentName = component.name; }
|
|
330
333
|
for (var systemName in observerInfos) {
|
|
331
334
|
var observerInfo = observerInfos[systemName] || {};
|
|
332
335
|
var info = observerInfo[componentName];
|
|
333
336
|
if (info) {
|
|
334
|
-
systemInstance[systemName].componentObserver.add({
|
|
337
|
+
(_b = (_a = systemInstance[systemName]) === null || _a === void 0 ? void 0 : _a.componentObserver) === null || _b === void 0 ? void 0 : _b.add({
|
|
335
338
|
component: component,
|
|
336
339
|
type: ObserverType.ADD,
|
|
337
340
|
componentName: componentName,
|
|
@@ -340,12 +343,13 @@ function observerAdded(component, componentName) {
|
|
|
340
343
|
}
|
|
341
344
|
}
|
|
342
345
|
function observerRemoved(component, componentName) {
|
|
346
|
+
var _a, _b;
|
|
343
347
|
if (componentName === void 0) { componentName = component.name; }
|
|
344
348
|
for (var systemName in observerInfos) {
|
|
345
349
|
var observerInfo = observerInfos[systemName] || {};
|
|
346
350
|
var info = observerInfo[componentName];
|
|
347
351
|
if (info) {
|
|
348
|
-
systemInstance[systemName].componentObserver.add({
|
|
352
|
+
(_b = (_a = systemInstance[systemName]) === null || _a === void 0 ? void 0 : _a.componentObserver) === null || _b === void 0 ? void 0 : _b.add({
|
|
349
353
|
component: component,
|
|
350
354
|
type: ObserverType.REMOVE,
|
|
351
355
|
componentName: componentName,
|
|
@@ -472,6 +476,7 @@ var GameObject = (function () {
|
|
|
472
476
|
function GameObject(name, obj) {
|
|
473
477
|
this._componentCache = {};
|
|
474
478
|
this.components = [];
|
|
479
|
+
this.destroyed = false;
|
|
475
480
|
this._name = name;
|
|
476
481
|
this.id = getId();
|
|
477
482
|
this.addComponent(Transform$1, obj);
|
|
@@ -553,6 +558,8 @@ var GameObject = (function () {
|
|
|
553
558
|
return gameObject;
|
|
554
559
|
};
|
|
555
560
|
GameObject.prototype.addComponent = function (C, obj) {
|
|
561
|
+
if (this.destroyed)
|
|
562
|
+
return;
|
|
556
563
|
var componentName = getComponentName(C);
|
|
557
564
|
if (this._componentCache[componentName])
|
|
558
565
|
return;
|
|
@@ -632,6 +639,10 @@ var GameObject = (function () {
|
|
|
632
639
|
return this.parent.removeChild(this);
|
|
633
640
|
};
|
|
634
641
|
GameObject.prototype.destroy = function () {
|
|
642
|
+
if (!this.transform) {
|
|
643
|
+
console.error('Cannot destroy gameObject that have already been destroyed.');
|
|
644
|
+
return;
|
|
645
|
+
}
|
|
635
646
|
Array.from(this.transform.children).forEach(function (_a) {
|
|
636
647
|
var gameObject = _a.gameObject;
|
|
637
648
|
gameObject.destroy();
|
|
@@ -642,6 +653,7 @@ var GameObject = (function () {
|
|
|
642
653
|
this._removeComponent(key);
|
|
643
654
|
}
|
|
644
655
|
this.components.length = 0;
|
|
656
|
+
this.destroyed = true;
|
|
645
657
|
};
|
|
646
658
|
return GameObject;
|
|
647
659
|
}());
|
|
@@ -655,6 +667,7 @@ var ComponentObserver = (function () {
|
|
|
655
667
|
var component = _a.component, prop = _a.prop, type = _a.type, componentName = _a.componentName;
|
|
656
668
|
if (type === ObserverType.REMOVE) {
|
|
657
669
|
if (this.events.find(function (changed) { return changed.component === component && changed.type === ObserverType.ADD; })) {
|
|
670
|
+
this.events = this.events.filter(function (changed) { return changed.component !== component; });
|
|
658
671
|
return;
|
|
659
672
|
}
|
|
660
673
|
this.events = this.events.filter(function (changed) { return changed.component !== component; });
|
|
@@ -1180,42 +1193,66 @@ var gameObjectPause = function (gameObjects) {
|
|
|
1180
1193
|
};
|
|
1181
1194
|
var Game = (function (_super) {
|
|
1182
1195
|
__extends(Game, _super);
|
|
1183
|
-
function Game(
|
|
1184
|
-
var
|
|
1185
|
-
var _c = _a === void 0 ? {} : _a, systems = _c.systems, _d = _c.frameRate, frameRate = _d === void 0 ? 60 : _d, _e = _c.autoStart, autoStart = _e === void 0 ? true : _e, _f = _c.needScene, needScene = _f === void 0 ? true : _f;
|
|
1186
|
-
var _this = _super.call(this) || this;
|
|
1196
|
+
function Game() {
|
|
1197
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
1187
1198
|
_this.playing = false;
|
|
1188
1199
|
_this.started = false;
|
|
1189
1200
|
_this.multiScenes = [];
|
|
1190
1201
|
_this.systems = [];
|
|
1191
|
-
if (window.__EVA_INSPECTOR_ENV__) {
|
|
1192
|
-
window.__EVA_GAME_INSTANCE__ = _this;
|
|
1193
|
-
}
|
|
1194
|
-
_this.ticker = new Ticker$1({ autoStart: false, frameRate: frameRate });
|
|
1195
|
-
_this.initTicker();
|
|
1196
|
-
if (systems && systems.length) {
|
|
1197
|
-
try {
|
|
1198
|
-
for (var systems_1 = __values(systems), systems_1_1 = systems_1.next(); !systems_1_1.done; systems_1_1 = systems_1.next()) {
|
|
1199
|
-
var system = systems_1_1.value;
|
|
1200
|
-
_this.addSystem(system);
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
1204
|
-
finally {
|
|
1205
|
-
try {
|
|
1206
|
-
if (systems_1_1 && !systems_1_1.done && (_b = systems_1.return)) _b.call(systems_1);
|
|
1207
|
-
}
|
|
1208
|
-
finally { if (e_10) throw e_10.error; }
|
|
1209
|
-
}
|
|
1210
|
-
}
|
|
1211
|
-
if (needScene) {
|
|
1212
|
-
_this.loadScene(new Scene$1('scene'));
|
|
1213
|
-
}
|
|
1214
|
-
if (autoStart) {
|
|
1215
|
-
_this.start();
|
|
1216
|
-
}
|
|
1217
1202
|
return _this;
|
|
1218
1203
|
}
|
|
1204
|
+
Game.prototype.init = function (_a) {
|
|
1205
|
+
var _b = _a === void 0 ? {} : _a, systems = _b.systems, _c = _b.frameRate, frameRate = _c === void 0 ? 60 : _c, _d = _b.autoStart, autoStart = _d === void 0 ? true : _d, _e = _b.needScene, needScene = _e === void 0 ? true : _e;
|
|
1206
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1207
|
+
var systems_1, systems_1_1, system, e_10_1;
|
|
1208
|
+
var e_10, _f;
|
|
1209
|
+
return __generator(this, function (_g) {
|
|
1210
|
+
switch (_g.label) {
|
|
1211
|
+
case 0:
|
|
1212
|
+
if (window.__EVA_INSPECTOR_ENV__) {
|
|
1213
|
+
window.__EVA_GAME_INSTANCE__ = this;
|
|
1214
|
+
}
|
|
1215
|
+
this.ticker = new Ticker$1({ autoStart: false, frameRate: frameRate });
|
|
1216
|
+
this.initTicker();
|
|
1217
|
+
if (!(systems && systems.length)) return [3, 8];
|
|
1218
|
+
_g.label = 1;
|
|
1219
|
+
case 1:
|
|
1220
|
+
_g.trys.push([1, 6, 7, 8]);
|
|
1221
|
+
systems_1 = __values(systems), systems_1_1 = systems_1.next();
|
|
1222
|
+
_g.label = 2;
|
|
1223
|
+
case 2:
|
|
1224
|
+
if (!!systems_1_1.done) return [3, 5];
|
|
1225
|
+
system = systems_1_1.value;
|
|
1226
|
+
return [4, this.addSystem(system)];
|
|
1227
|
+
case 3:
|
|
1228
|
+
_g.sent();
|
|
1229
|
+
_g.label = 4;
|
|
1230
|
+
case 4:
|
|
1231
|
+
systems_1_1 = systems_1.next();
|
|
1232
|
+
return [3, 2];
|
|
1233
|
+
case 5: return [3, 8];
|
|
1234
|
+
case 6:
|
|
1235
|
+
e_10_1 = _g.sent();
|
|
1236
|
+
e_10 = { error: e_10_1 };
|
|
1237
|
+
return [3, 8];
|
|
1238
|
+
case 7:
|
|
1239
|
+
try {
|
|
1240
|
+
if (systems_1_1 && !systems_1_1.done && (_f = systems_1.return)) _f.call(systems_1);
|
|
1241
|
+
}
|
|
1242
|
+
finally { if (e_10) throw e_10.error; }
|
|
1243
|
+
return [7];
|
|
1244
|
+
case 8:
|
|
1245
|
+
if (needScene) {
|
|
1246
|
+
this.loadScene(new Scene$1('scene'));
|
|
1247
|
+
}
|
|
1248
|
+
if (autoStart) {
|
|
1249
|
+
this.start();
|
|
1250
|
+
}
|
|
1251
|
+
return [2];
|
|
1252
|
+
}
|
|
1253
|
+
});
|
|
1254
|
+
});
|
|
1255
|
+
};
|
|
1219
1256
|
Object.defineProperty(Game.prototype, "scene", {
|
|
1220
1257
|
get: function () {
|
|
1221
1258
|
return this._scene;
|
|
@@ -1234,36 +1271,49 @@ var Game = (function (_super) {
|
|
|
1234
1271
|
configurable: true
|
|
1235
1272
|
});
|
|
1236
1273
|
Game.prototype.addSystem = function (S, obj) {
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1274
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1275
|
+
var system, hasTheSystem, _a;
|
|
1276
|
+
return __generator(this, function (_b) {
|
|
1277
|
+
switch (_b.label) {
|
|
1278
|
+
case 0:
|
|
1279
|
+
if (S instanceof Function) {
|
|
1280
|
+
system = new S(obj);
|
|
1281
|
+
}
|
|
1282
|
+
else if (S instanceof System$1) {
|
|
1283
|
+
system = S;
|
|
1284
|
+
}
|
|
1285
|
+
else {
|
|
1286
|
+
console.warn('can only add System');
|
|
1287
|
+
return [2];
|
|
1288
|
+
}
|
|
1289
|
+
hasTheSystem = this.systems.find(function (item) {
|
|
1290
|
+
return item.constructor === system.constructor;
|
|
1291
|
+
});
|
|
1292
|
+
if (hasTheSystem) {
|
|
1293
|
+
console.warn(system.constructor.systemName + " System has been added");
|
|
1294
|
+
return [2];
|
|
1295
|
+
}
|
|
1296
|
+
system.game = this;
|
|
1297
|
+
_a = system.init;
|
|
1298
|
+
if (!_a) return [3, 2];
|
|
1299
|
+
return [4, system.init(system.__systemDefaultParams)];
|
|
1300
|
+
case 1:
|
|
1301
|
+
_a = (_b.sent());
|
|
1302
|
+
_b.label = 2;
|
|
1303
|
+
case 2:
|
|
1304
|
+
setSystemObserver(system, system.constructor);
|
|
1305
|
+
initObserver(system.constructor);
|
|
1306
|
+
try {
|
|
1307
|
+
system.awake && system.awake();
|
|
1308
|
+
}
|
|
1309
|
+
catch (e) {
|
|
1310
|
+
console.error(system.constructor.systemName + " awake error", e);
|
|
1311
|
+
}
|
|
1312
|
+
this.systems.push(system);
|
|
1313
|
+
return [2, system];
|
|
1314
|
+
}
|
|
1315
|
+
});
|
|
1250
1316
|
});
|
|
1251
|
-
if (hasTheSystem) {
|
|
1252
|
-
console.warn(system.constructor.systemName + " System has been added");
|
|
1253
|
-
return;
|
|
1254
|
-
}
|
|
1255
|
-
system.game = this;
|
|
1256
|
-
system.init && system.init(system.__systemDefaultParams);
|
|
1257
|
-
setSystemObserver(system, system.constructor);
|
|
1258
|
-
initObserver(system.constructor);
|
|
1259
|
-
try {
|
|
1260
|
-
system.awake && system.awake();
|
|
1261
|
-
}
|
|
1262
|
-
catch (e) {
|
|
1263
|
-
console.error(system.constructor.systemName + " awake error", e);
|
|
1264
|
-
}
|
|
1265
|
-
this.systems.push(system);
|
|
1266
|
-
return system;
|
|
1267
1317
|
};
|
|
1268
1318
|
Game.prototype.removeSystem = function (system) {
|
|
1269
1319
|
if (!system)
|
|
@@ -1526,11 +1576,10 @@ var resourceLoader = {
|
|
|
1526
1576
|
XhrResponseType: XhrResponseType,
|
|
1527
1577
|
MediaElementLoadStrategy: MediaElementLoadStrategy,
|
|
1528
1578
|
VideoLoadStrategy: VideoLoadStrategy,
|
|
1529
|
-
XhrLoadStrategy: XhrLoadStrategy,
|
|
1530
1579
|
Loader: Loader,
|
|
1531
1580
|
Resource: Resource$1,
|
|
1532
1581
|
ResourceType: ResourceType,
|
|
1533
|
-
ResourceState: ResourceState
|
|
1582
|
+
ResourceState: ResourceState,
|
|
1534
1583
|
};
|
|
1535
1584
|
|
|
1536
1585
|
var LOAD_EVENT;
|
|
@@ -1546,31 +1595,9 @@ var RESOURCE_TYPE;
|
|
|
1546
1595
|
RESOURCE_TYPE["IMAGE"] = "IMAGE";
|
|
1547
1596
|
RESOURCE_TYPE["SPRITE"] = "SPRITE";
|
|
1548
1597
|
RESOURCE_TYPE["SPRITE_ANIMATION"] = "SPRITE_ANIMATION";
|
|
1549
|
-
RESOURCE_TYPE["DRAGONBONE"] = "DRAGONBONE";
|
|
1550
|
-
RESOURCE_TYPE["PARTICLES"] = "PARTICLES";
|
|
1551
|
-
RESOURCE_TYPE["LOTTIE"] = "LOTTIE";
|
|
1552
|
-
RESOURCE_TYPE["SPINE"] = "SPINE";
|
|
1553
1598
|
RESOURCE_TYPE["AUDIO"] = "AUDIO";
|
|
1554
1599
|
RESOURCE_TYPE["VIDEO"] = "VIDEO";
|
|
1555
1600
|
})(RESOURCE_TYPE || (RESOURCE_TYPE = {}));
|
|
1556
|
-
XhrLoadStrategy.setExtensionXhrType('json', XhrResponseType.Json);
|
|
1557
|
-
XhrLoadStrategy.setExtensionXhrType('tex', XhrResponseType.Json);
|
|
1558
|
-
XhrLoadStrategy.setExtensionXhrType('ske', XhrResponseType.Json);
|
|
1559
|
-
XhrLoadStrategy.setExtensionXhrType('mp3', XhrResponseType.Buffer);
|
|
1560
|
-
XhrLoadStrategy.setExtensionXhrType('wav', XhrResponseType.Buffer);
|
|
1561
|
-
XhrLoadStrategy.setExtensionXhrType('aac', XhrResponseType.Buffer);
|
|
1562
|
-
XhrLoadStrategy.setExtensionXhrType('ogg', XhrResponseType.Buffer);
|
|
1563
|
-
var RESOURCE_TYPE_STRATEGY = {
|
|
1564
|
-
png: ImageLoadStrategy,
|
|
1565
|
-
jpg: ImageLoadStrategy,
|
|
1566
|
-
jpeg: ImageLoadStrategy,
|
|
1567
|
-
webp: ImageLoadStrategy,
|
|
1568
|
-
json: XhrLoadStrategy,
|
|
1569
|
-
tex: XhrLoadStrategy,
|
|
1570
|
-
ske: XhrLoadStrategy,
|
|
1571
|
-
audio: XhrLoadStrategy,
|
|
1572
|
-
video: VideoLoadStrategy,
|
|
1573
|
-
};
|
|
1574
1601
|
var Resource = (function (_super) {
|
|
1575
1602
|
__extends(Resource, _super);
|
|
1576
1603
|
function Resource(options) {
|
|
@@ -1581,7 +1608,6 @@ var Resource = (function (_super) {
|
|
|
1581
1608
|
_this.makeInstanceFunctions = {};
|
|
1582
1609
|
_this.destroyInstanceFunctions = {};
|
|
1583
1610
|
_this.promiseMap = {};
|
|
1584
|
-
_this.loaders = [];
|
|
1585
1611
|
if (options && typeof options.timeout === 'number') {
|
|
1586
1612
|
_this.timeout = options.timeout;
|
|
1587
1613
|
}
|
|
@@ -1630,7 +1656,7 @@ var Resource = (function (_super) {
|
|
|
1630
1656
|
var names = [];
|
|
1631
1657
|
for (var key in this.resourcesMap) {
|
|
1632
1658
|
var resource_1 = this.resourcesMap[key];
|
|
1633
|
-
if (resource_1.preload && !resource_1.complete) {
|
|
1659
|
+
if (resource_1.preload && !resource_1.complete && !this.promiseMap[key]) {
|
|
1634
1660
|
names.push(resource_1.name);
|
|
1635
1661
|
}
|
|
1636
1662
|
}
|
|
@@ -1712,6 +1738,13 @@ var Resource = (function (_super) {
|
|
|
1712
1738
|
});
|
|
1713
1739
|
});
|
|
1714
1740
|
};
|
|
1741
|
+
Resource.prototype.registerResourceType = function (type, value) {
|
|
1742
|
+
if (value === void 0) { value = type; }
|
|
1743
|
+
if (RESOURCE_TYPE[type]) {
|
|
1744
|
+
throw new Error("The type " + type + " already exists in RESOURCE_TYPE");
|
|
1745
|
+
}
|
|
1746
|
+
RESOURCE_TYPE[type] = value;
|
|
1747
|
+
};
|
|
1715
1748
|
Resource.prototype.registerInstance = function (type, callback) {
|
|
1716
1749
|
this.makeInstanceFunctions[type] = callback;
|
|
1717
1750
|
};
|
|
@@ -1725,45 +1758,76 @@ var Resource = (function (_super) {
|
|
|
1725
1758
|
if (!unLoadNames.length)
|
|
1726
1759
|
return;
|
|
1727
1760
|
var resolves = {};
|
|
1728
|
-
var loader = this.getLoader(preload);
|
|
1729
1761
|
unLoadNames.forEach(function (name) {
|
|
1730
1762
|
var e_3, _a;
|
|
1763
|
+
var _b;
|
|
1731
1764
|
_this.promiseMap[name] = new Promise(function (r) { return (resolves[name] = r); });
|
|
1732
1765
|
var res = _this.resourcesMap[name];
|
|
1733
1766
|
try {
|
|
1734
|
-
for (var
|
|
1735
|
-
var handler =
|
|
1767
|
+
for (var _c = __values(_this.preProcessResourceHandlers), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
1768
|
+
var handler = _d.value;
|
|
1736
1769
|
handler(res);
|
|
1737
1770
|
}
|
|
1738
1771
|
}
|
|
1739
1772
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
1740
1773
|
finally {
|
|
1741
1774
|
try {
|
|
1742
|
-
if (
|
|
1775
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
1743
1776
|
}
|
|
1744
1777
|
finally { if (e_3) throw e_3.error; }
|
|
1745
1778
|
}
|
|
1746
|
-
|
|
1779
|
+
var _loop_1 = function (key) {
|
|
1747
1780
|
var resourceType = res.src[key].type;
|
|
1748
1781
|
if (resourceType === 'data') {
|
|
1749
1782
|
res.data[key] = res.src[key].data;
|
|
1750
1783
|
_this.doComplete(name, resolves[name], preload);
|
|
1751
1784
|
}
|
|
1752
1785
|
else {
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1786
|
+
var url = (_b = res.src[key]) === null || _b === void 0 ? void 0 : _b.url;
|
|
1787
|
+
if (typeof url === 'string' && url.startsWith('//')) {
|
|
1788
|
+
url = "" + window.location.protocol + res.src[key].url;
|
|
1789
|
+
}
|
|
1790
|
+
if (key === 'atlas') {
|
|
1791
|
+
Assets.add({
|
|
1792
|
+
alias: url,
|
|
1793
|
+
src: url,
|
|
1794
|
+
data: {
|
|
1795
|
+
resolve: function () { return Assets.load(res.src['image'].url); },
|
|
1796
|
+
},
|
|
1797
|
+
});
|
|
1798
|
+
}
|
|
1799
|
+
else {
|
|
1800
|
+
Assets.add({
|
|
1801
|
+
alias: url,
|
|
1802
|
+
src: url,
|
|
1803
|
+
});
|
|
1804
|
+
}
|
|
1805
|
+
Assets.load(url)
|
|
1806
|
+
.then(function (data) {
|
|
1807
|
+
_this.onLoad({
|
|
1808
|
+
preload: preload,
|
|
1809
|
+
resource: {
|
|
1810
|
+
metadata: { key: key, name: name, resolves: resolves },
|
|
1811
|
+
data: data,
|
|
1812
|
+
},
|
|
1813
|
+
});
|
|
1814
|
+
})
|
|
1815
|
+
.catch(function (e) {
|
|
1816
|
+
console.log('>>>E', e);
|
|
1817
|
+
_this.onError({
|
|
1818
|
+
preload: preload,
|
|
1819
|
+
errMsg: e.message,
|
|
1820
|
+
resource: {
|
|
1821
|
+
metadata: { key: key, name: name, resolves: resolves },
|
|
1822
|
+
},
|
|
1823
|
+
});
|
|
1762
1824
|
});
|
|
1763
1825
|
}
|
|
1826
|
+
};
|
|
1827
|
+
for (var key in res.src) {
|
|
1828
|
+
_loop_1(key);
|
|
1764
1829
|
}
|
|
1765
1830
|
});
|
|
1766
|
-
loader.load();
|
|
1767
1831
|
};
|
|
1768
1832
|
Resource.prototype.doComplete = function (name, resolve, preload) {
|
|
1769
1833
|
if (preload === void 0) { preload = false; }
|
|
@@ -1812,34 +1876,7 @@ var Resource = (function (_super) {
|
|
|
1812
1876
|
var res = this.resourcesMap[name];
|
|
1813
1877
|
return Array.from(Object.keys(res.src)).every(function (resourceKey) { return res.data[resourceKey]; });
|
|
1814
1878
|
};
|
|
1815
|
-
Resource.prototype.getLoader = function (
|
|
1816
|
-
var _this = this;
|
|
1817
|
-
if (preload === void 0) { preload = false; }
|
|
1818
|
-
var loader = this.loaders.find(function (_a) {
|
|
1819
|
-
var loading = _a.loading;
|
|
1820
|
-
return !loading;
|
|
1821
|
-
});
|
|
1822
|
-
if (!loader) {
|
|
1823
|
-
loader = new Loader();
|
|
1824
|
-
this.loaders.push(loader);
|
|
1825
|
-
}
|
|
1826
|
-
if (preload) {
|
|
1827
|
-
loader.onStart.once(function () {
|
|
1828
|
-
_this.progress.onStart();
|
|
1829
|
-
});
|
|
1830
|
-
}
|
|
1831
|
-
loader.onLoad.add(function (_, resource) {
|
|
1832
|
-
_this.onLoad({ preload: preload, resource: resource });
|
|
1833
|
-
});
|
|
1834
|
-
loader.onError.add(function (errMsg, _, resource) {
|
|
1835
|
-
_this.onError({ errMsg: errMsg, resource: resource, preload: preload });
|
|
1836
|
-
});
|
|
1837
|
-
loader.onComplete.once(function () {
|
|
1838
|
-
loader.onLoad.detachAll();
|
|
1839
|
-
loader.onError.detachAll();
|
|
1840
|
-
loader.reset();
|
|
1841
|
-
});
|
|
1842
|
-
return loader;
|
|
1879
|
+
Resource.prototype.getLoader = function (_preload) {
|
|
1843
1880
|
};
|
|
1844
1881
|
Resource.prototype.onLoad = function (_a) {
|
|
1845
1882
|
var _b = _a.preload, preload = _b === void 0 ? false : _b, resource = _a.resource;
|
|
@@ -1883,7 +1920,8 @@ var decorators = {
|
|
|
1883
1920
|
IDEProp: IDEProp,
|
|
1884
1921
|
componentObserver: componentObserver,
|
|
1885
1922
|
};
|
|
1886
|
-
var version = '
|
|
1887
|
-
console.log("Eva.js version: " + version);
|
|
1923
|
+
var version = '2.0.0-beta.1';
|
|
1924
|
+
console.log("Eva.js version: " + version);
|
|
1925
|
+
var RESOURCE_TYPE_STRATEGY = {};
|
|
1888
1926
|
|
|
1889
1927
|
export { Component$1 as Component, Game$1 as Game, GameObject$1 as GameObject, IDEProp, LOAD_EVENT, LOAD_SCENE_MODE, ObserverType as OBSERVER_TYPE, RESOURCE_TYPE, RESOURCE_TYPE_STRATEGY, Scene$1 as Scene, System$1 as System, Transform$1 as Transform, componentObserver, decorators, resource, resourceLoader, version };
|