import { MONEY_TYPE } from "../datas/CommonData"; import UsualCaidanData from "../datas/UsualCaidanData"; import Main from "../Main"; import GameM, { AUDIO_TYPE } from "../manager/GameM"; import UiM, { PANEL_NAME } from "../manager/UiM"; import UsualEggItem from "../prefabs/UsualEggItem"; import CashPro from "./CashPro"; import EffectNode from "./EffectNode"; import Gift from "./Gift"; /** 常规彩蛋界面 */ const { ccclass, property } = cc._decorator; @ccclass export default class UsualCaidanNode extends cc.Component { //常规彩蛋进度 @property(cc.Label) labUsualPro: cc.Label = null @property(cc.ProgressBar) progressBar: cc.ProgressBar = null //常规彩蛋领取 @property(cc.Node) btnUsualGet: cc.Node = null //常规彩蛋灰 @property(cc.Node) btnUsualGrey: cc.Node = null //彩蛋动画 @property(sp.Skeleton) usualCaidanAni: sp.Skeleton = null //彩蛋动画 @property(cc.Node) usualCaidanBg: cc.Node = null @property(cc.Node) par: cc.Node = null @property(cc.Node) hongbaoPart: cc.Node = null @property(cc.Node) finishPart: cc.Node = null @property(cc.Label) labFinish: cc.Label = null start() { } init() { this.hasTap = false this.usualCaidanBg.active = false this.usualCaidanAni.node.active = false this.usualCaidanAni.node.scale = 1 this.usualCaidanAni.timeScale = 1 this.usualCaidanAni.setAnimation(0, "idle", true) this.usualCaidanAni.node.y = 60 if (UsualCaidanData.Instance.userUsualEggInfo) { if (UsualCaidanData.Instance.userUsualEggInfo.isEnd == 1) { this.labFinish.string = '彩蛋已完成!' this.finishPart.active = true this.hongbaoPart.active = false } else { if (UsualCaidanData.Instance.userUsualEggInfo.isOpen) { if (UsualCaidanData.Instance.userUsualEggInfo.isTodayFinished == 1) { this.labFinish.string = '今日已完成,明日再来哦!' this.finishPart.active = true this.hongbaoPart.active = false } else { UsualCaidanData.Instance.setDot('usualCaidanStart') this.usualCaidanAni.node.y = 1000 cc.tween(this.usualCaidanAni.node) .delay(1) .to(0.2, { y: 60 }) .start() this.finishPart.active = false this.hongbaoPart.active = true let usualCondition = '' let usualNeed = 0 let usualCurPro = 0 usualCurPro = UsualCaidanData.Instance.userUsualEggInfo.progress usualNeed = UsualCaidanData.Instance.userUsualEggInfo.videoTimes if (usualCurPro >= usualNeed) { usualCurPro = usualNeed this.btnUsualGet.active = true this.btnUsualGrey.active = false } else { this.btnUsualGet.active = false this.btnUsualGrey.active = true } usualCondition = `${usualCurPro}/${usualNeed}次` this.labUsualPro.string = usualCondition this.progressBar.progress = usualCurPro / usualNeed } } else { this.labFinish.string = '今日已完成,明日再来哦!' this.finishPart.active = true this.hongbaoPart.active = false } } } else { this.labFinish.string = '今日已完成,明日再来哦!' } } hasTap = false /** 常规彩蛋确定 */ clickUsualCaidanSure() { GameM.audioM.playEffect(AUDIO_TYPE.button) let curPro = UsualCaidanData.Instance.userUsualEggInfo.progress let need = UsualCaidanData.Instance.userUsualEggInfo.videoTimes if (curPro >= need) { if (UsualCaidanData.Instance.userUsualEggInfo.isEnd == 0 && UsualCaidanData.Instance.userUsualEggInfo.isOpen == 1) { if (this.hasTap) { return } this.hasTap = true //提现 this.usualCaidanBg.active = true this.usualCaidanAni.node.active = true cc.tween(this.usualCaidanAni.node) .to(0.5, { y: -100, scale: 1.4 }) .delay(1) .call(() => { this.usualCaidanAni.timeScale = 0.5 this.usualCaidanAni.setAnimation(0, "boom", false) this.scheduleOnce(() => { this.scheduleOnce(() => { this.hasTap = false }, 0.5) let money = 0 UiM.Instance.onPanel(PANEL_NAME.CashProNode, false, () => { UiM.Instance.cashProNode.getComponent(CashPro).init(2, money) }) }, 2) }) .start() } else { EffectNode.instance.PlayTip('已完成所有彩蛋任务') } } else { EffectNode.instance.PlayTip('达成以上条件即可领奖') } } /** 完成奖励 */ completeAward(index) { // let cfg = UsualCaidanData.Instance.getUsualEggTaskByIndex(index) // /**奖励类型 // * 1.现金 2.铜币 3.转盘卡 4.夺宝券 5.加速卡 6.高等级车 // * */ // let num = '0' // let moneyType = 0 // switch (cfg.rewardType) { // case 2: // moneyType = MONEY_TYPE.gold // num = cfg.rewardValue.toString() // break // case 3: // moneyType = MONEY_TYPE.turnTableCard // num = cfg.rewardValue.toString() // break // case 4: // moneyType = MONEY_TYPE.treasureCard // num = cfg.rewardValue.toString() // break // case 5: // moneyType = MONEY_TYPE.speedCard // num = cfg.rewardValue.toString() // break // case 6: // UiM.Instance.hallNode.getComponent(Main).getEggCar(cfg.rewardValue) // break // } // if (cfg.rewardType != 6) { // let gift = UiM.Instance.giftNode.getComponent(Gift) // gift.init(moneyType, num, null, false, 0, null) // UiM.Instance.giftNode.x = 0 // UiM.Instance.giftNode.active = true // } } clickClose() { GameM.audioM.playEffect(AUDIO_TYPE.button) this.hideEff() } hideEff() { let main = UiM.Instance.hallNode.getComponent(Main) let pos1 = main.caidanBtn.node.position let pos = cc.v2(pos1.x, pos1.y) cc.tween(this.par).to(0.2, { scale: 0, position: pos }).call(() => { UiM.Instance.offPanel(PANEL_NAME.UsualCaidanNode) if (UsualCaidanData.Instance.userUsualEggInfo.isEnd == 1 || UsualCaidanData.Instance.userUsualEggInfo.isOpen == 0) { //彩蛋飞走 UiM.Instance.hallNode.getComponent(Main).caidanFlyAway() } }).start(); } }