@ives_xxz/framework 2.1.29 → 2.1.31
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/Framework.ts +51 -19
- package/FrameworkBase.ts +20 -12
- package/component/FWVirtuaScrollViewComponent.ts +56 -0
- package/component/FWVirtuaScrollViewComponent.ts.meta +10 -0
- package/component/FWVirtualViewComponent.ts +265 -130
- package/define/FWSystemDefine.ts +25 -20
- package/entry/FWEntry.ts +4 -0
- package/manager/FWAssetManager.ts +8 -3
- package/manager/FWLayerManager.ts +107 -57
- package/manager/FWObjectManager.ts +23 -18
- package/package.json +4 -2
- package/types/FW.d.ts +36 -0
- package/utils/FWObjectPool.ts +6 -3
- package/utils/FWUtils.ts +15 -0
- package/utils/FWUtils.ts.meta +10 -0
package/utils/FWObjectPool.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const POOL_DISABLE_POSITION: cc.Vec3 = cc.v3(50000, 50000);
|
|
2
2
|
|
|
3
|
-
export class FWObjectPool<T extends FW.Object = FW.Object>
|
|
3
|
+
export class FWObjectPool<T extends FW.Object = FW.Object>
|
|
4
|
+
implements FW.ObjectPool
|
|
5
|
+
{
|
|
4
6
|
private uniqueId: number;
|
|
5
7
|
private type: FW.SystemDefine.FWObjectType;
|
|
6
8
|
private enablePoolMap: Map<number, FW.ObjectProperty>;
|
|
@@ -12,7 +14,8 @@ export class FWObjectPool<T extends FW.Object = FW.Object> implements FW.ObjectP
|
|
|
12
14
|
type?: FW.SystemDefine.FWObjectType,
|
|
13
15
|
) {
|
|
14
16
|
this.uniqueId = 0;
|
|
15
|
-
this.type =
|
|
17
|
+
this.type =
|
|
18
|
+
type !== undefined ? type : FW.SystemDefine.FWObjectType.OPACITY;
|
|
16
19
|
this.enablePoolMap = new Map<number, FW.ObjectProperty>();
|
|
17
20
|
this.disablePoolMap = new Map<number, FW.ObjectProperty>();
|
|
18
21
|
}
|
|
@@ -63,7 +66,7 @@ export class FWObjectPool<T extends FW.Object = FW.Object> implements FW.ObjectP
|
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
/** 是否禁用缓存池中存在剩余对象 */
|
|
66
|
-
|
|
69
|
+
public isEmpty() {
|
|
67
70
|
return this.disablePoolMap.size == 0;
|
|
68
71
|
}
|
|
69
72
|
|
package/utils/FWUtils.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default class FWUtils {
|
|
2
|
+
/**
|
|
3
|
+
* 从 URL 中获取完整文件名(含扩展名)
|
|
4
|
+
*/
|
|
5
|
+
public getFileName(url: string): string {
|
|
6
|
+
try {
|
|
7
|
+
const urlObj = new URL(url);
|
|
8
|
+
const pathname = urlObj.pathname;
|
|
9
|
+
return pathname.substring(pathname.lastIndexOf('/') + 1);
|
|
10
|
+
} catch {
|
|
11
|
+
const cleanUrl = url.split('?')[0].split('#')[0];
|
|
12
|
+
return cleanUrl.substring(cleanUrl.lastIndexOf('/') + 1);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|