PreloadingScene.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import { _decorator, Component, Node, game, find, loader, JsonAsset, Prefab, sys } 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. import { WeaponCell } from '../models/weapons/WeaponCell';
  9. import { NoticeManager } from '../../engines/notices/NoticeManager';
  10. import { LiangLiangSDK } from '../../libs/liangliangSDK';
  11. import { SubPackageLoader } from '../../engines/utils/SubPackageLoader';
  12. const { ccclass, property } = _decorator;
  13. @ccclass('PreloadingScene')
  14. export class PreloadingScene extends Component {
  15. onLoad(){
  16. console.log("进入Preloading场景");
  17. }
  18. start () {
  19. let canvas:Node=find("Canvas");
  20. game.addPersistRootNode(canvas);
  21. if(window["wx"]){
  22. this.LoadSubPackage();
  23. }else{
  24. this.LoadConfigs();
  25. }
  26. }
  27. private initAds():void{
  28. LiangLiangSDK.Init(()=>{
  29. this.AdsComplete();
  30. },()=>{
  31. this.AdsComplete();
  32. })
  33. }
  34. private AdsComplete():void{
  35. GameModel.single.gameName="QiangShenZhanJi";
  36. GameModel.single.userId=LiangLiangSDK.userID;
  37. this.LoadConfigs();
  38. }
  39. private LoadSubPackage():void{
  40. console.log("加载分包");
  41. LoadingView.single.UpdateLabel("加载分包");
  42. SubPackageLoader.load(["ui","barriers","gunFire","hands","monsters","scenes","textures","weapons"],(progress:number)=>{
  43. LoadingView.single.UpdateProgress(progress);
  44. },()=>{
  45. LoadingView.single.UpdateLabel("拉取平台数据");
  46. this.initAds();
  47. },(errMsg:string)=>{
  48. LoadingView.single.UpdateLabel(errMsg);
  49. })
  50. }
  51. LoadConfigs():void{
  52. LoadingView.single.UpdateLabel("加载配置");
  53. loader.loadResDir("configs",JsonAsset,this.onConfigLoadProgress.bind(this),this.onConfigLoadComplete.bind(this));
  54. }
  55. onConfigLoadProgress(index:number,total:number):void{
  56. LoadingView.single.UpdateProgress(index/total);
  57. }
  58. onConfigLoadComplete(error,asset):void{
  59. if(error!=null){
  60. LoadingView.single.UpdateLabel("加载配置出错!");
  61. return;
  62. }
  63. GameConfigManager.Init(asset);
  64. this.initLocalData();
  65. }
  66. private initLocalData():void{
  67. // //清除本地数据
  68. // GameModel.single.ClearLocalData();
  69. GameModel.single.ReadByLocal();
  70. SceneManager.single.Swicth("PrepareScene");
  71. }
  72. // //假进度条
  73. // private time:number=0;
  74. // update (deltaTime: number) {
  75. // this.time+=deltaTime;
  76. // this.time=this.time%2;
  77. // LoadingView.single.UpdateProgress(this.time/3);
  78. // }
  79. }