/* * @Author: your name * @Date: 2021-09-05 22:49:20 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \zombiefood\assets\script\ui\uiview\Interface\UIWinView.ts */ import auto_winView from "../../../ui/uidata/Interface/auto_winView"; import UIBase from "../../../framework/ui/UIBase"; import UIHelp from "../../../framework/ui/UIHelp"; import bundleManager from "../../../manager/bundleManager"; import levelManager from "../../../manager/levelManager"; import AccountModel from "../../../data/Account/AccountModel"; import UITopMenu from "./UITopMenu"; import gameData from "../../../gameLogic/utrl/gameData"; import { USER } from "../../../constant/constant-user"; import dungeonManager from "../../../manager/dungeonManager"; import dungeonLogic from "../../../gameLogic/dungeonLogic"; import UIWelfareView from "./UIWelfareView"; const { ccclass, menu, property } = cc._decorator; @ccclass @menu("UI/Interface/UIWinView") export default class UIWinView extends UIBase { ui: auto_winView = null; protected static prefabUrl = "Interface/winView"; protected static className = "UIWinView"; bClick: boolean; curLevel: number; maskNode: cc.Node; onUILoad() { this.ui = this.node.addComponent(auto_winView); levelManager.preLoadLevel(AccountModel.getInstance().curLevel + 1); this.reSetPlayerPos(); this.curLevel = AccountModel.getInstance().curLevel; this.maskNode = cc.director.getScene().getChildByName('Canvas').getChildByName('maskNode'); if(this.curLevel == 1){ zjSdk?.sendEvent('新手引导-成功')} zjSdk?.showGameOver(); } onShow() { this.initFrames(); } initFrames() { if (this.hasLevel()) { let idx = this.curLevel + 1; bundleManager.setBundleFrame('UI', 'winView/lijitaoli', this.ui.next_btn); bundleManager.setBundleFrame('UI', 'main/level' + idx, this.ui.target_img); } else { bundleManager.setBundleFrame('UI', 'main/level' + this.curLevel, this.ui.target_img); bundleManager.setBundleFrame('UI', 'failView/chongxin', this.ui.next_btn); } } hasLevel() { if (this.curLevel >= USER.MAX_LEVEL) { return false; } return true; } onStart() { cc.director.getScene().getChildByName('Canvas').getChildByName('redWarn').active = false; } next_btn() { if (this.hasLevel()) { this.nextLevel(); } else { this.reStart(); } } reStart() { if (this.bClick) { return; } this.bClick = true; zjSdk?.hideGameOver(); zjSdk?.gameBegin(() => { this.removeDungeonView(); zjSdk?.sendEvent('进入第' + AccountModel.getInstance().curLevel + '关') levelManager.open(AccountModel.getInstance().curLevel, () => { //this.maskNode.opacity = 0; AccountModel.getInstance().show_crazy_in_level =0; UITopMenu.getInstance().node.active = true; dungeonManager.resetDungen(); this.onClose(); }, true); }) } nextLevel() { console.log('zh:nextLevel 1'); if (AccountModel.getInstance().curLevel >= USER.MAX_LEVEL) { return UIHelp.ShowTips('敬请期待...') } if (this.bClick) { return; } this.bClick = true; zjSdk?.hideGameOver(); zjSdk?.gameBegin(() => { console.log('zh:nextLevel 2'); AccountModel.getInstance().curLevel += 1; zjSdk?.sendEvent('进入第' + AccountModel.getInstance().curLevel + '关') levelManager.open(AccountModel.getInstance().curLevel, () => { AccountModel.getInstance().show_crazy_in_level = 0; gameData.curInDungeonType = null; //this.maskNode.opacity = 0; this.tryShowUI(); UITopMenu.getInstance().node.active = true; this.onClose(); }) }) } private tryShowUI() { const curWelfare = AccountModel.getInstance().curWelfare; if (curWelfare.length != 4){ UIHelp.ShowUI(UIWelfareView); } } removeDungeonView() { var cavans = cc.director.getScene().getChildByName('world').children; cavans.forEach((node) => { let com = node.getComponent(dungeonLogic); if (com) { node.destroy(); return; } }) } reSetPlayerPos() { let playerDt = gameData.playerDtList; if (playerDt.length > 0) { playerDt.forEach(element => { element.pos = null; }); } AccountModel.getInstance().playerDtList = gameData.playerDtList; } removeDungeonNode() { let worldChildren = cc.director.getScene().getChildByName('world').children; worldChildren.forEach((node) => { if (node.name.indexOf('dungeon_') >= 0) { node.destroy(); } }) } onClose() { UIHelp.CloseUI(UIWinView); } }