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.
217 lines
9.1 KiB
217 lines
9.1 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 AppPlatform from "../FrameWork/Util/AppPlatform";
|
|
import Utilit from "../FrameWork/Util/Utilit";
|
|
import Common5 from "../Platform/th/Common5";
|
|
import TTAPI from "../Platform/tt/TTAPI";
|
|
import WXAPI from "../Platform/weixin/WXAPI";
|
|
import Game from "../Scripts/Game";
|
|
import MainScene from "../Scripts/MainSceneScript";
|
|
import PhysicalPowerManger from "../ttFrame/manager/PhysicalPowerManger";
|
|
|
|
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)
|
|
this.nextFunc();
|
|
// }
|
|
}, this);
|
|
|
|
this.btnBack.on("click", () => {
|
|
Common5.selectGameNum = -1;
|
|
// Game.ins.clickBack(null,true);
|
|
|
|
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{
|
|
}
|
|
}, '','');
|
|
|
|
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.showTips_custom("请稍等,资源正在加载中......");
|
|
MainScene.ins.showLoading();
|
|
Common5.stopMusic();
|
|
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)
|
|
|
|
MainScene.ins.GameNode.getChildByName("mask").getChildByName("prefabNode").destroyAllChildren();
|
|
MainScene.ins.GameNode.getChildByName("mask").getChildByName("prefabNode").removeAllChildren();
|
|
Common5.getPrefabFromBundle(Common5.selectGameInfo.bundle,Common5.selectGameInfo.url,MainScene.ins.GameNode.getChildByName("mask").getChildByName("prefabNode"),(prefab)=>{
|
|
|
|
// Common5.hideTips_custom();
|
|
MainScene.ins.hidLoading();
|
|
Game.ins.reset();
|
|
MainScene.ins.isLoading = false;
|
|
})
|
|
});
|
|
})
|
|
}
|
|
else {
|
|
cc.assetManager.loadBundle(Common5.selectGameInfo.bundle, function (err: Error, bundle: cc.AssetManager.Bundle) {
|
|
GameReport.EnterReport(ENTERTYPE.TONGGUAN,Common5.selectGameInfo.title2)
|
|
|
|
MainScene.ins.GameNode.getChildByName("mask").getChildByName("prefabNode").destroyAllChildren();
|
|
MainScene.ins.GameNode.getChildByName("mask").getChildByName("prefabNode").removeAllChildren();
|
|
Common5.getPrefabFromBundle(Common5.selectGameInfo.bundle,Common5.selectGameInfo.url,MainScene.ins.GameNode.getChildByName("mask").getChildByName("prefabNode"),(prefab)=>{
|
|
|
|
Common5.hideTips_custom();
|
|
Game.ins.reset();
|
|
MainScene.ins.isLoading = false;
|
|
MainScene.ins.hidLoading();
|
|
})
|
|
});
|
|
}
|
|
}
|
|
if (Common5.isNoEnergyMode == 0) {
|
|
|
|
if (PhysicalPowerManger.isCanUserPhysical()) {
|
|
inGameFunc();
|
|
} else {
|
|
console.log("体力不够");
|
|
Common5.getPrefabFromBundle("ZoomGame", "Prefabs/UI/WxtlUI", null, (prefab) => {
|
|
})
|
|
}
|
|
} else {
|
|
inGameFunc();
|
|
}
|
|
Common5.stopMusic();
|
|
this.btnBackFunc();
|
|
}
|
|
setSuccessImg(){
|
|
let img = Common5.gameConfig.jqGameConfig[Common5.selectGameNum].succssImg;
|
|
if (img == "" || img == undefined){
|
|
// this.node.getChildByName("success").getChildByName("label").getComponent(cc.Label).string = Common5.selectGameInfo.succssText;
|
|
// this.node.getChildByName("success").getChildByName("success").active = false;
|
|
}
|
|
else{
|
|
// this.node.getChildByName("success").getChildByName("label").active =false;
|
|
// Common5.getSpriteFrameFromBundle("ZoomGame", img, this.node.getChildByName("success").getChildByName("success").getComponent(cc.Sprite));
|
|
}
|
|
}
|
|
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();
|
|
}
|
|
}
|
|
|