PreloadingScene.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { _decorator, Component, Node, game, find, loader, JsonAsset } from 'cc';
  2. import { LayerManager } from '../../engines/gui/LayerManager';
  3. import { UIConst } from '../ui/UIConst';
  4. import { LoadingView } from '../../engines/loadingView/LoadingView';
  5. import { SceneManager } from '../../engines/scenes/SceneManager';
  6. import { GameModel } from '../models/GameModel';
  7. import GameConfigManager from '../models/GameConfigManager';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('PreloadingScene')
  10. export class PreloadingScene extends Component {
  11. /* class member could be defined like this */
  12. // dummy = '';
  13. /* use `property` decorator if your want the member to be serializable */
  14. // @property
  15. // serializableDummy = 0;
  16. onLoad(){
  17. console.log("进入Preloading场景");
  18. }
  19. start () {
  20. let canvas:Node=find("Canvas");
  21. game.addPersistRootNode(canvas);
  22. //UI全局节点
  23. let uiRoot:Node=canvas.getChildByName("UIRoot");
  24. let layerRoot:Node=uiRoot.getChildByName("LayerRoot");
  25. LayerManager.single.Init(layerRoot);
  26. UIConst.RegisterGUI();
  27. this.LoadConfigs();
  28. }
  29. LoadConfigs():void{
  30. loader.loadResDir("configs",JsonAsset,this.onConfigLoadProgress.bind(this),this.onConfigLoadComplete.bind(this));
  31. }
  32. onConfigLoadProgress(index:number,total:number):void{
  33. LoadingView.single.UpdateProgress(index/total);
  34. }
  35. onConfigLoadComplete(error,asset):void{
  36. if(error!=null){
  37. throw new Error("加载配置出错!");
  38. }
  39. GameConfigManager.Init(asset);
  40. SceneManager.single.Swicth("PrepareScene");
  41. }
  42. //假进度条
  43. private time:number=0;
  44. update (deltaTime: number) {
  45. this.time+=deltaTime;
  46. this.time=this.time%2;
  47. LoadingView.single.UpdateProgress(this.time/2);
  48. }
  49. }