PreloadingScene.ts 3.1 KB

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