squidGame/tgx-games-client/assets/core_tgx/base/SceneUtils.ts

43 lines
1.1 KiB
TypeScript

import { assetManager, director, AssetManager } from "cc";
/**
* 场景信息
*/
export interface ISceneInfo {
/**
* 场景名称
*/
name: string;
/**
* 场景包名
*/
bundle?: string;
}
export class SceneUtil {
static async reloadScene(){
return new Promise((resolve, reject) => {
director.loadScene(director.getScene().name,()=>{
resolve(true);
});
});
}
static async loadScene(scene: ISceneInfo) {
return new Promise((resolve, reject) => {
let bundle = assetManager.getBundle(scene.bundle);
if (bundle) {
director.loadScene(scene.name, () => {
resolve(true);
});
}
else {
assetManager.loadBundle(scene.bundle, (err, bundle: AssetManager.Bundle) => {
if (bundle) {
director.loadScene(scene.name, () => {
resolve(true);
});
}
})
}
});
}
}