You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							214 lines
						
					
					
						
							8.0 KiB
						
					
					
				
			
		
		
	
	
							214 lines
						
					
					
						
							8.0 KiB
						
					
					
				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();
 | 
						|
    }
 | 
						|
}
 | 
						|
 |