import { ryw_Event } from "../../../FrameWork/Event/EventEnum"; import EventMgr from "../../../FrameWork/Event/EventMgr"; import GameReport, { ENTERTYPE, OUTTYPE } from "../../../FrameWork/Report/ZyZyReport"; import User from "../../../FrameWork/User/User"; import Common5 from "../../../Platform/th/Common5"; import TTAPI from "../../../Platform/tt/TTAPI"; import WXAPI from "../../../Platform/weixin/WXAPI"; import Game from "./Game"; import PhysicalPowerManger from "../../../ttFrame/manager/PhysicalPowerManger"; import PrefabManage, { GameType } from "../../PrefabManager/PrefabManage"; const { ccclass, property } = cc._decorator; @ccclass export default class GameSuccessUI extends cc.Component { protected gameNode: cc.Node = null; protected btnNext: cc.Node = null; protected btnBack: cc.Node = null; protected btnShare: cc.Node = null; protected fireworksNode: cc.Node = null; @property(cc.Label) timeLabel: cc.Label = null; curGameName= null protected start(): void { TTAPI.stopRecord_custom(); // Common5.stopMusic(); if (!Common5.isNoMusic) { Common5.playEffect("success") } Common5.stopMusic(); // Common5.playMusic("bg"); User.setLevelAryy_custom(Common5.selectGameNum); this.curGameName = Common5.selectGameInfo.titleUrl this.gameNode = this.node.getChildByName("game"); this.btnNext = this.gameNode.getChildByName("btnNext"); this.btnBack = this.gameNode.getChildByName("btnBack"); this.btnShare = this.gameNode.getChildByName("btnShare"); let levels = Common5.gameConfig.GameAllType[Common5.curWordGameType].Levels; let nextLevel = -1; for (let i = 0; i < levels.length; i++){ if (levels[i] == Common5.selectGameNum){ if (i < levels.length - 1){ nextLevel = levels[i+1]; } break; } } if (nextLevel !=-1){ User.setLeveNum_custom(nextLevel); User.setLevelAryy_custom(nextLevel); // User.saveDataToServer() console.log('保存下一个+++') Common5.selectGameInfo = Common5.gameConfig.zmGameConfig[nextLevel]; Common5.selectGameNum = nextLevel; Common5.wordGameType = 0; } else { let levelArr = User.getLevelAryy_custom(); for (let i = 0; i < Common5.gameConfig.GameAllType[Common5.curWordGameType].Levels.length; i++){ let level = Common5.gameConfig.GameAllType[Common5.curWordGameType].Levels[i] if (levelArr[level] == 0){ nextLevel = level; Common5.selectGameInfo = Common5.gameConfig.zmGameConfig[nextLevel]; Common5.selectGameNum = nextLevel; User.setLeveNum_custom(nextLevel); User.setLevelAryy_custom(nextLevel); Common5.wordGameType = 0; EventMgr.emitEvent_custom(ryw_Event.updateLevel); break; } } } if (nextLevel == -1){ let levelArr = User.getSuccessLevels(); let find = false; for (let i = 0; i < Common5.gameConfig.GameAllType[Common5.curWordGameType].Levels.length; i++){ let level = Common5.gameConfig.GameAllType[Common5.curWordGameType].Levels[i] for (let j = 0; j < levelArr.length; j++){ if (level == levelArr[j]){ find = true; break; } } if (!find){ nextLevel = level; break; } } } Common5.selectGameNum = nextLevel; this.btnNext.on("click", () => { console.log(Common5.selectGameNum); if (Common5.selectGameNum == -1){ Common5.showTips_custom("恭喜您已通关!") return; } GameReport.OUTReport(OUTTYPE.TIAOZHUAN, this.curGameName) let bundle = Common5.selectGameInfo.bundle if(bundle.includes('Level')){ PrefabManage.loadPrefabByType(GameType.WZ_GameMainZC,null,()=>{ this.scheduleOnce(()=>{ this.nextFunc(); }) }) }else{ Game.ins.clearLastGameNode() PrefabManage.loadPrefabByType(GameType.WZ_GameMain,null,()=>{ this.scheduleOnce(()=>{ this.nextFunc(); }) }) } // this.nextFunc(); // } }, this); this.btnBack.on("click", () => { Common5.selectGameNum = -1; let bundle = Common5.selectGameInfo.bundle if(bundle.includes('Level')){ }else{ Game.ins.exitGame(); } this.node.removeFromParent(); GameReport.OUTReport(OUTTYPE.CHENGGONG,Common5.selectGameInfo.title2) }, this); this.btnShare.on("click", () => { //分享 console.log("share"); WXAPI.share_custom((finish)=>{ if(finish){ }else{ } }, '',''); WXAPI.share_custom((finish)=>{ }, '',''); TTAPI.shareRecord_custom(() => { // this.btnBackFunc(); }, () => { Common5.showTips_custom("录屏分享失败,请稍后再试!"); // this.btnBackFunc(); }) }, this); EventMgr.emitEvent_custom(ryw_Event.updateLevel); // Common5.getSoundFromBundle_custom("ZoomGame", "Sounds/fail", false); } nextFunc(){ let inGameFunc = ()=>{ Common5.stopMusic(); let bundle = Common5.selectGameInfo.bundle let example = null if(bundle.includes('Level')){ }else{ example = Game } if (Common5.selectGameInfo.subbundle !="" && Common5.selectGameInfo.subbundle != undefined){ let subbundle = cc.assetManager.loadBundle(Common5.selectGameInfo.subbundle,(err,subbundle)=>{ cc.assetManager.loadBundle(Common5.selectGameInfo.bundle, function (err: Error, bundle: cc.AssetManager.Bundle) { //GameReport.EnterReport(ENTERTYPE.TONGGUAN,Common5.selectGameInfo.title2) Common5.getPrefabFromBundlePrefabLayer(Common5.selectGameInfo.bundle,Common5.selectGameInfo.url,example.ins.node.getChildByName("mask").getChildByName("prefabNode"),(prefab)=>{ example.ins.reset(); }) }); }) } else { cc.assetManager.loadBundle(Common5.selectGameInfo.bundle, function (err: Error, bundle: cc.AssetManager.Bundle) { //GameReport.EnterReport(ENTERTYPE.TONGGUAN,Common5.selectGameInfo.title2) Common5.getPrefabFromBundlePrefabLayer(Common5.selectGameInfo.bundle,Common5.selectGameInfo.url,example.ins.node.getChildByName("mask").getChildByName("prefabNode"),(prefab)=>{ example.ins.reset(); }) }); } } if (Common5.isNoEnergyMode == 0) { inGameFunc(); } else { inGameFunc(); } Common5.stopMusic(); this.btnBackFunc(); } setSuccessImg(){ } setSuccessTime(time){ let secondStr = ""; let second = time % 60; if (second < 10){ secondStr = "0" + second; } else { secondStr = second.toString(); } this.timeLabel.string = Math.floor(time/60) + ":" + secondStr; } btnBackFunc() { this.node.removeFromParent(); } }