@ives_xxz/framework 2.1.24 → 2.1.26
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/manager/FWResManager.ts +24 -12
- package/package.json +1 -1
- package/types/FW.d.ts +7 -1
package/manager/FWResManager.ts
CHANGED
|
@@ -7,12 +7,15 @@ import { FWManager } from './FWManager';
|
|
|
7
7
|
export class FWResManager extends FWManager implements FW.ResManager {
|
|
8
8
|
private bundleMgr: FW.BundleManager;
|
|
9
9
|
private assetMgr: FW.AssetManager;
|
|
10
|
-
|
|
10
|
+
private rejectHandlerListener: FW.ResRejectHandlerListener;
|
|
11
11
|
public initialize() {
|
|
12
12
|
this.bundleMgr = new FWBundleManager(this);
|
|
13
13
|
this.assetMgr = new FWAssetManager(this);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
registerRejectHandler(listener: FW.ResRejectHandlerListener): void {
|
|
17
|
+
this.rejectHandlerListener = listener;
|
|
18
|
+
}
|
|
16
19
|
/**
|
|
17
20
|
* 加载bundle
|
|
18
21
|
* @param bundleName
|
|
@@ -66,6 +69,7 @@ export class FWResManager extends FWManager implements FW.ResManager {
|
|
|
66
69
|
|
|
67
70
|
resolve(bundle);
|
|
68
71
|
} catch (e) {
|
|
72
|
+
this.rejectHandlerListener?.loadBundleHandler?.(e, bundleName);
|
|
69
73
|
reject(e);
|
|
70
74
|
}
|
|
71
75
|
}, FWSystemConfig.PromiseConfig.loadBundle).promise,
|
|
@@ -87,15 +91,19 @@ export class FWResManager extends FWManager implements FW.ResManager {
|
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
async loadRemote<T extends cc.Asset = cc.Asset>(url: string, texture?: boolean): Promise<T> {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
} else {
|
|
94
|
-
if (asset instanceof cc.Texture2D) {
|
|
95
|
-
return new cc.SpriteFrame(asset) as unknown as T;
|
|
96
|
-
} else {
|
|
94
|
+
try {
|
|
95
|
+
const asset = await this.assetMgr.loadRemote(url);
|
|
96
|
+
if (texture) {
|
|
97
97
|
return asset as T;
|
|
98
|
+
} else {
|
|
99
|
+
if (asset instanceof cc.Texture2D) {
|
|
100
|
+
return new cc.SpriteFrame(asset) as unknown as T;
|
|
101
|
+
} else {
|
|
102
|
+
return asset as T;
|
|
103
|
+
}
|
|
98
104
|
}
|
|
105
|
+
} catch (e) {
|
|
106
|
+
this.rejectHandlerListener?.loadResHandler?.(e, url);
|
|
99
107
|
}
|
|
100
108
|
}
|
|
101
109
|
|
|
@@ -141,11 +149,15 @@ export class FWResManager extends FWManager implements FW.ResManager {
|
|
|
141
149
|
assetProperty: FW.AssetProperty,
|
|
142
150
|
texture?: boolean,
|
|
143
151
|
): Promise<T> {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
152
|
+
try {
|
|
153
|
+
const res = await this.assetMgr.load(assetProperty);
|
|
154
|
+
if (texture) {
|
|
155
|
+
return res.asset as T;
|
|
156
|
+
}
|
|
157
|
+
return this.process<T>(res).asset as T;
|
|
158
|
+
} catch (e) {
|
|
159
|
+
this.rejectHandlerListener?.loadResHandler?.(e, assetProperty.path);
|
|
147
160
|
}
|
|
148
|
-
return this.process<T>(res).asset as T;
|
|
149
161
|
}
|
|
150
162
|
|
|
151
163
|
async preLoad(assetProperty: FW.AssetProperty | FW.AssetProperty[]) {
|
package/package.json
CHANGED
package/types/FW.d.ts
CHANGED
|
@@ -1007,6 +1007,10 @@ declare namespace FW {
|
|
|
1007
1007
|
assetProperty: AssetProperty;
|
|
1008
1008
|
};
|
|
1009
1009
|
|
|
1010
|
+
type ResRejectHandlerListener = {
|
|
1011
|
+
loadResHandler:(err: Error | null, asset: AssetProperty | string | null) => void;
|
|
1012
|
+
loadBundleHandler:(err: Error | null, bundle: string | null) => void;
|
|
1013
|
+
}
|
|
1010
1014
|
/**
|
|
1011
1015
|
* 资源管理器 - 负责游戏资源的加载、获取和释放等操作
|
|
1012
1016
|
*/
|
|
@@ -1016,7 +1020,8 @@ declare namespace FW {
|
|
|
1016
1020
|
|
|
1017
1021
|
/** 销毁方法 */
|
|
1018
1022
|
onDestroy(): void;
|
|
1019
|
-
|
|
1023
|
+
/** 注册拒绝处理器 */
|
|
1024
|
+
registerRejectHandler(listener: ResRejectHandlerListener): void;
|
|
1020
1025
|
/**
|
|
1021
1026
|
* 加载指定bundle
|
|
1022
1027
|
* @param bundleName - bundle名称
|
|
@@ -1606,6 +1611,7 @@ declare namespace FW {
|
|
|
1606
1611
|
* Spine骨骼动画对象 - 用于控制Spine骨骼动画的播放和设置
|
|
1607
1612
|
*/
|
|
1608
1613
|
type Skeleton = {
|
|
1614
|
+
animation: sp.Skeleton;
|
|
1609
1615
|
/**
|
|
1610
1616
|
* 播放动画
|
|
1611
1617
|
* @param args - 骨骼动画参数
|