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); }); } }) } }); } }