123456789101112131415161718192021222324252627282930313233343536373839 |
- import { _decorator, Component, Node, director, SceneAsset } from 'cc';
- import { LoadingView } from '../loadingView/LoadingView';
- const { ccclass, property } = _decorator;
- export class SceneManager{
- private sceneName:string;
- /**
- * 切换场景
- * @param sceneName
- */
- public Swicth(sceneName:string):void{
- this.sceneName=sceneName;
- LoadingView.single.Show();
- console.log("切换到:"+sceneName);
- LoadingView.single.UpdateLabel("切换到:"+sceneName);
- director.preloadScene(sceneName,this.OnProgressHandler.bind(this),this.OnCompleteHandler.bind(this))
- }
- private OnProgressHandler(completedCount: number, totalCount: number, item: any):void{
- LoadingView.single.UpdateProgress(completedCount/totalCount);
- }
- private OnCompleteHandler(error: null | Error, sceneAsset?: SceneAsset):void{
- if(error!=null){
- console.error(this.sceneName+"加载错误:"+error);
- LoadingView.single.UpdateLabel(this.sceneName+"加载错误:"+error);
- }
- director.loadScene(this.sceneName);
- LoadingView.single.Hide();
- }
- private static instance:SceneManager;
- public static get single(){
- if(this.instance==null){
- this.instance=new SceneManager();
- }
- return this.instance;
- }
- }
|