import { _decorator, Component, Node, game, find, loader, JsonAsset, Prefab, sys } from 'cc'; import { LayerManager } from '../../engines/gui/LayerManager'; import { UIConst } from '../ui/UIConst'; import { LoadingView } from '../../engines/loadingView/LoadingView'; import { SceneManager } from '../../engines/scenes/SceneManager'; import { GameModel } from '../models/GameModel'; import GameConfigManager from '../models/GameConfigManager'; import { WeaponCell } from '../models/weapons/WeaponCell'; import { NoticeManager } from '../../engines/notices/NoticeManager'; import { LiangLiangSDK } from '../../libs/liangliangSDK'; const { ccclass, property } = _decorator; @ccclass('PreloadingScene') export class PreloadingScene extends Component { /* class member could be defined like this */ // dummy = ''; /* use `property` decorator if your want the member to be serializable */ // @property // serializableDummy = 0; onLoad(){ console.log("进入Preloading场景"); } start () { let canvas:Node=find("Canvas"); game.addPersistRootNode(canvas); if(window["wx"]){ this.LoadSubPackage(); }else{ this.initAds(); } } private initAds():void{ console.log("初始化 ADS"); if(sys.isBrowser){ console.log("平台:isBrowser"); GameModel.single.gameName="QiangShenZhanJi" GameModel.single.userId="Guest"; this.LoadConfigs(); }else if(sys.isMobile){ console.log("平台:isMobile"); LiangLiangSDK.Init(()=>{ this.AdsComplete(); },()=>{ this.AdsComplete(); }) } } private AdsComplete():void{ GameModel.single.gameName="QiangShenZhanJi"; GameModel.single.userId=LiangLiangSDK.userID; this.LoadConfigs(); } private LoadSubPackage():void{ console.log("加载分包"); loader.downloader.loadSubpackage('d3d', (err: any) => { if (err) { return console.error("loadSubpackage Error:"+err); } loader.downloader.loadSubpackage('ui', (err: any) => { if (err) { return console.error("loadSubpackage Error:"+err); } this.initAds(); }); }); } LoadConfigs():void{ loader.loadResDir("configs",JsonAsset,this.onConfigLoadProgress.bind(this),this.onConfigLoadComplete.bind(this)); } onConfigLoadProgress(index:number,total:number):void{ LoadingView.single.UpdateProgress(index/total); } onConfigLoadComplete(error,asset):void{ if(error!=null){ throw new Error("加载配置出错!"); } GameConfigManager.Init(asset); this.initLocalData(); } private initLocalData():void{ //清除本地数据 GameModel.single.ClearLocalData(); GameModel.single.ReadByLocal(); SceneManager.single.Swicth("PrepareScene"); } //假进度条 private time:number=0; update (deltaTime: number) { this.time+=deltaTime; this.time=this.time%2; LoadingView.single.UpdateProgress(this.time/3); } }