| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import HotUpdate, { HotOptions } from "../../../mk/sdk/HotUpdate";
- import JsbSystem from "../../../mk/system/JsbSystem";
- import LoadingBar from "../../component/LoadingBar";
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class Login extends cc.Component {
- @property(LoadingBar)
- private bar: LoadingBar = null;
- @property({ displayName: '加载文字', type: cc.Label })
- private lbl_progress: cc.Label = null;
- @property({ displayName: '服务协议', type: cc.Label })
- private lbl_server: cc.Label = null;
- @property({ displayName: '隐私协议', type: cc.Label })
- private lbl_privacy: cc.Label = null;
- @property({ type: cc.Asset })
- private manifest: cc.Asset = null;
- /** 是否检查热更 */
- hasCheck = false
- private updateFinish = false;
- onLoad() {
- this.setProgress(0);
- let options = new HotOptions();
- options.OnUpdateProgress = (event: jsb.EventAssetsManager) => {
- let bytes = event.getDownloadedBytes() + '/' + event.getTotalBytes();
- let files = event.getDownloadedFiles() + '/' + event.getTotalFiles();
- let file = event.getPercentByFile().toFixed(2);
- let byte = event.getPercent().toFixed(2);
- let msg = event.getMessage();
- this.bar.setProgress(parseFloat(file) * 0.01);
- this.lbl_progress.string = '更新中 ' + parseFloat(file) + "%";
- console.log(msg);
- };
- options.OnNeedToUpdate = (data) => {
- setTimeout(() => {
- HotUpdate.hotUpdate();
- }, 500);
- };
- options.OnNoNeedToUpdate = () => {
- this.updateFinish = true;
- };
- options.OnUpdateFailed = () => {
- setTimeout(() => {
- HotUpdate.checkUpdate();
- }, 300);
- };
- options.OnUpdateSucceed = () => {
- cc.audioEngine.stopAll();
- cc.game.restart();
- };
- HotUpdate.init(this.manifest, options);
- }
- start() {
- if (JsbSystem.getWxAppId()) {
- //获取微信id
- gData.appData.appId = JsbSystem.getWxAppId();
- }
- //获取设备信息
- JsbSystem.getDeviceInfo();
- }
- private setProgress(current) {
- this.bar.setProgress(current);
- this.lbl_progress.string = "加载不消耗流量 " + current + "%";
- }
- private process: number = 0;
- update() {
- if (this.hasCheck && !this.updateFinish) {
- }
- else {
- if (this.process < 100) {
- this.process += 2;
- this.setProgress(this.process);
- }
- }
- if (cc.sys.isNative) {
- //检查热更新
- if (!this.hasCheck) {
- HotUpdate.checkUpdate();
- this.hasCheck = true
- console.log('MMM updateFinish NO ')
- return
- }
- if (!this.updateFinish) {
- console.log('MMM updateFinish state false')
- return
- }
- }
- if (gData.loginData.loadResCompelete) {
- if (gData.appData.getDeviceInfoCompelete) {
- this.login();
- gData.appData.getDeviceInfoCompelete = false;
- }
- else if (gData.gameData.dataFinish) {//登录流程完毕
- if (gData.gameData.isNewPlayer()) {
- mk.ui.openPanel("module/agreementTip/agreementTip");
- }
- else {
- mk.ui.openPanel("game/prefab/game");
- }
- gData.gameData.dataFinish = false;
- }
- }
- else {
- gData.loginData.loadLocalRes();
- }
- }
- public login() {
- //初始化相关数据
- mk.pool.init(gData.gameData.pools);
- //取消构造的时候自动初始化,手动初始化
- mk.ad.init();
- gData.appData.init();
- gData.adData.init();
- gData.loginData.init();
- console.log("[FC] gData.appData.appId", gData.appData.appId);
- //登录
- gData.loginData.login();
- }
- }
|