@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.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
- constructor({ systems, frameRate, autoStart, needScene }?: GameParams);
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?: "high-performance";
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(preload?: boolean): Loader;
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?: number[];
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 = "1.3.0-alpha.1";
451
+ export declare const version = "2.0.0-beta.1";
457
452
 
458
453
  export { }
@@ -1,7 +1,8 @@
1
1
  import EventEmitter from 'eventemitter3';
2
- import { isEqual, isObject } from 'lodash-es';
2
+ import { isObject, isEqual } from 'lodash-es';
3
3
  import { type, step } from '@eva/inspector-decorator';
4
- import { AbstractLoadStrategy, AudioLoadStrategy, ImageLoadStrategy, XhrResponseType, MediaElementLoadStrategy, VideoLoadStrategy, XhrLoadStrategy, Loader, Resource as Resource$1, ResourceType, ResourceState } from 'resource-loader';
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(_a) {
1184
- var e_10, _b;
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
- var system;
1238
- if (S instanceof Function) {
1239
- system = new S(obj);
1240
- }
1241
- else if (S instanceof System$1) {
1242
- system = S;
1243
- }
1244
- else {
1245
- console.warn('can only add System');
1246
- return;
1247
- }
1248
- var hasTheSystem = this.systems.find(function (item) {
1249
- return item.constructor === system.constructor;
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 _b = __values(_this.preProcessResourceHandlers), _c = _b.next(); !_c.done; _c = _b.next()) {
1735
- var handler = _c.value;
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 (_c && !_c.done && (_a = _b.return)) _a.call(_b);
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
- for (var key in res.src) {
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
- loader.add({
1754
- url: res.src[key].url,
1755
- name: res.name + "_" + key,
1756
- strategy: RESOURCE_TYPE_STRATEGY[resourceType],
1757
- metadata: {
1758
- key: key,
1759
- name: res.name,
1760
- resolves: resolves,
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 (preload) {
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 = '1.3.0-alpha.1';
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/eva.js",
3
- "version": "1.3.0-alpha.1",
3
+ "version": "2.0.0-beta.1",
4
4
  "description": "@eva/eva.js",
5
5
  "main": "index.js",
6
6
  "module": "dist/eva.js.esm.js",