@ives_xxz/framework 1.0.6 → 1.0.7

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/FW.d.ts CHANGED
@@ -661,6 +661,10 @@ declare namespace FW {
661
661
  * 资源引用计数
662
662
  */
663
663
  refCount: number;
664
+ /**
665
+ * 资源属性
666
+ */
667
+ assetProperty: AssetProperty;
664
668
  };
665
669
 
666
670
  type ResManager = {
@@ -881,13 +885,13 @@ declare namespace FW {
881
885
  */
882
886
  load(assetProperty: AssetProperty): Promise<AssetData>;
883
887
 
884
- loadDir(assetProperty: FW.AssetProperty): Promise<FW.AssetData[]>;
888
+ loadDir(assetProperty: AssetProperty): Promise<FW.AssetData[]>;
885
889
 
886
890
  /**
887
891
  * 获取资源
888
892
  * @param asset
889
893
  */
890
- get(assetProperty: FW.AssetProperty): AssetData;
894
+ get(assetProperty: AssetProperty): AssetData;
891
895
 
892
896
  /**
893
897
  * 释放资源
@@ -15,6 +15,7 @@ class FWAssetData implements FW.AssetData {
15
15
  loaded: boolean;
16
16
  autoRelease: boolean;
17
17
  refCount: number;
18
+ assetProperty: FW.AssetProperty;
18
19
  }
19
20
 
20
21
  export class FWAssetManager extends FWManager implements FW.AssetManager {
@@ -152,6 +153,8 @@ export class FWAssetManager extends FWManager implements FW.AssetManager {
152
153
  assetData.asset = asset;
153
154
  assetData.user = assetProperty.user;
154
155
  assetData.refCount = 1;
156
+ assetData.assetProperty = assetProperty;
157
+
155
158
  self.assetsMap.set(key, assetData);
156
159
 
157
160
  cb?.(assetData);
@@ -216,6 +219,7 @@ export class FWAssetManager extends FWManager implements FW.AssetManager {
216
219
  assetData.autoRelease = autoRelease;
217
220
  assetData.asset = asset;
218
221
  assetData.type = type;
222
+ assetData.assetProperty = assetProperty;
219
223
 
220
224
  const key = `${this.createAssetMapKey({
221
225
  bundle: bundleName,
@@ -293,7 +297,6 @@ export class FWAssetManager extends FWManager implements FW.AssetManager {
293
297
  }
294
298
 
295
299
  if (!this.has(assetProperty)) {
296
- FWLog.error('获取资源失败,请先加载!');
297
300
  return undefined;
298
301
  }
299
302
  const key = this.createAssetMapKey(assetProperty);
@@ -344,6 +347,9 @@ export class FWAssetManager extends FWManager implements FW.AssetManager {
344
347
  }
345
348
 
346
349
  public onDestroy(): void {
350
+ this.assetsMap.forEach((v) => {
351
+ this.release(v.assetProperty);
352
+ });
347
353
  this.assetsMap.clear();
348
354
  }
349
355
  }
@@ -86,6 +86,9 @@ export class FWBundleManager extends FWManager implements FW.BundleManager {
86
86
  }
87
87
 
88
88
  public onDestroy(): void {
89
+ this.bundleMap.forEach((bundle) => {
90
+ this.release(bundle.name);
91
+ });
89
92
  this.bundleMap.clear();
90
93
  }
91
94
  }
@@ -161,6 +161,7 @@ export class FWResManager extends FWManager implements FW.ResManager {
161
161
  autoRelease: res.autoRelease,
162
162
  loaded: res.loaded,
163
163
  refCount: res.refCount,
164
+ assetProperty: res.assetProperty,
164
165
  };
165
166
  }
166
167
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ives_xxz/framework",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "cocoscreator 2.x mvc framework",
5
5
  "main": "index.js",
6
6
  "keywords": [
package/utils/FWTask.ts CHANGED
@@ -47,7 +47,6 @@ export default class FWTask implements FW.Task {
47
47
  taskId,
48
48
  });
49
49
  this.taskStartTime = FW.Entry.timeMgr.getTime();
50
- FWLog.debug('执行任务开始', this.taskStartTime);
51
50
  await this.executeFrame();
52
51
  return this;
53
52
  }
@@ -119,45 +118,32 @@ export default class FWTask implements FW.Task {
119
118
  performance.now() - frameStart < this.frameBudget
120
119
  ) {
121
120
  const task = this.taskQueue[0];
121
+
122
122
  const taskId = (task as any).taskId || `id-${processed}`;
123
123
 
124
- try {
125
- const result = await task.next();
126
-
127
- if (result.done) {
128
- this.taskQueue.shift();
129
- this.recordEvent({
130
- type: FWEventDefine.TaskEvent.COMPLETE,
131
- progress: 1,
132
- message: '任务完成',
133
- taskId,
134
- });
135
- } else if (result.value) {
136
- this.recordEvent({
137
- ...result.value,
138
- taskId,
139
- });
140
- }
141
-
142
- frameTasks.push({
143
- taskId: taskId,
144
- result: result.done ? FWEventDefine.TaskEvent.COMPLETE : FWEventDefine.TaskEvent.YIELDED,
145
- message: (result?.value as any)?.message,
146
- });
147
- } catch (error) {
148
- FWLog.error('执行任务出错', error);
124
+ const result = await task.next();
125
+
126
+ if (result.done) {
149
127
  this.taskQueue.shift();
150
128
  this.recordEvent({
151
- type: FWEventDefine.TaskEvent.ERROR,
152
- message: `任务执行出错: ${error.message}`,
129
+ type: FWEventDefine.TaskEvent.COMPLETE,
130
+ progress: 1,
131
+ message: '任务完成',
153
132
  taskId,
154
133
  });
155
- frameTasks.push({
156
- taskId: taskId,
157
- result: FWEventDefine.TaskEvent.ERROR,
158
- message: error.message,
134
+ } else if (result.value) {
135
+ this.recordEvent({
136
+ ...result.value,
137
+ taskId,
159
138
  });
160
139
  }
140
+
141
+ frameTasks.push({
142
+ taskId: taskId,
143
+ result: result.done ? FWEventDefine.TaskEvent.COMPLETE : FWEventDefine.TaskEvent.YIELDED,
144
+ message: (result?.value as any)?.message,
145
+ });
146
+
161
147
  processed++;
162
148
  }
163
149