93 lines
2.6 KiB
TypeScript
93 lines
2.6 KiB
TypeScript
|
|
/**
|
|
* 挑战模式 关卡
|
|
*/
|
|
|
|
import { GameType } from "../../Tools/Define";
|
|
import GameResMgr, { uiPreName } from "../../Tools/GameResMgr";
|
|
import PlayData from "../../Tools/PlayData";
|
|
import AdsApiMgr from "../../Tools/Sdk/ads/AdsApiMgr";
|
|
import gameStorage from "../../Tools/gameStorage";
|
|
import TipsManager from "../TipsManager";
|
|
|
|
const {ccclass, property} = cc._decorator;
|
|
|
|
@ccclass
|
|
export default class challengeCheckOutPanelSc extends cc.Component {
|
|
|
|
maxCheckNum = 5
|
|
|
|
@property(cc.Layout)
|
|
nodeLayout:cc.Layout = null
|
|
|
|
@property([cc.SpriteFrame])
|
|
tiaoSpriteFrame:cc.SpriteFrame[] = []
|
|
|
|
openState = null
|
|
|
|
onLoad () {
|
|
|
|
this.openState = gameStorage.Instance.getChallengeCheckOpenState()
|
|
|
|
for (let index = 0; index < this.maxCheckNum; index++) {
|
|
let btn = cc.find('cc' + index , this.nodeLayout.node)
|
|
btn.on(cc.Node.EventType.TOUCH_END, this.guanbtnClickCallBack, this)
|
|
let suo = cc.find('suo', btn)
|
|
let sp = btn.getComponent(cc.Sprite)
|
|
|
|
if(this.openState[index] == 1){
|
|
suo.active = !1
|
|
sp.spriteFrame = this.tiaoSpriteFrame[1]
|
|
}else{
|
|
suo.active = !0
|
|
sp.spriteFrame = this.tiaoSpriteFrame[0]
|
|
}
|
|
|
|
let guanstr = cc.find('guanstr', btn).getComponent(cc.Label)
|
|
guanstr.string = '第' + (index+1) + '关'
|
|
}
|
|
}
|
|
|
|
start () {
|
|
|
|
}
|
|
|
|
protected onEnable(): void {
|
|
AdsApiMgr.Instance.chaPingAds_Show()
|
|
}
|
|
|
|
/**
|
|
* 关卡点击事件
|
|
* @param event
|
|
*/
|
|
guanbtnClickCallBack(event){
|
|
|
|
let nodename = event.currentTarget.name
|
|
let strarr = nodename.split('cc')
|
|
let guan = Number(strarr[1])
|
|
|
|
if(this.openState[guan] == 0){
|
|
return TipsManager.Instance.createTips('请挑战成功前置关卡')
|
|
}
|
|
|
|
if(gameStorage.Instance.getEnergy()>0){
|
|
//console.log('打印点触的节点', event, event.currentTarget)
|
|
gameStorage.Instance.setEnergy(gameStorage.Instance.getEnergy()-1)
|
|
|
|
//console.log('打印关卡id', guan)
|
|
PlayData.Instance.guanqia = guan
|
|
PlayData.Instance.gameType = GameType.challenge
|
|
cc.director.loadScene('LevelUpGameScene')
|
|
}else{ //体力不足
|
|
gameStorage.Instance.setoffLineTime()
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.addEnery])
|
|
newnode.parent = cc.director.getScene()
|
|
}
|
|
}
|
|
|
|
closePanel(){
|
|
this.node.destroy()
|
|
}
|
|
// update (dt) {}
|
|
}
|