PreloadingScene.ts 3.4 KB

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