mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-04-04 04:12:55 +08:00
add uiManager auto scan and load skin resource
This commit is contained in:
@@ -72,6 +72,12 @@ class UIManager {
|
||||
// load view
|
||||
const ViewClass = await this.loadView(viewName);
|
||||
const resourceList = await ViewClass.load?.(args);
|
||||
const scanedResourceList = this.#loading? this.scanResource(ViewClass.uiView): [];
|
||||
if(preload) {
|
||||
preload = [].concat(preload).concat(scanedResourceList);
|
||||
} else {
|
||||
preload = scanedResourceList;
|
||||
}
|
||||
await this.loadRes(resourceList, preload, onProgress);
|
||||
|
||||
// create view
|
||||
@@ -127,4 +133,17 @@ class UIManager {
|
||||
clearAllDialog() {
|
||||
this.#dialogLayer.removeChildren();
|
||||
}
|
||||
|
||||
scanResource(uiView) {
|
||||
if(!uiView) return [];
|
||||
const resourceList = [];
|
||||
if(uiView.props?.skin) {
|
||||
resourceList.push(uiView.props.skin);
|
||||
}
|
||||
uiView.child?.forEach(child => {
|
||||
resourceList.push(...this.scanResource(child));
|
||||
});
|
||||
|
||||
return resourceList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user