import GameReport from "../../FrameWork/Report/ZyZyReport"; import User from "../../FrameWork/User/User"; import AppPlatform from "../../FrameWork/Util/AppPlatform"; import Common5 from "../../Platform/th/Common5"; import TaskManager from "../JuQingChat/TaskManager"; import BagManager, { GoodsProperty, GoodsLocalProperty } from "../Manager/BagManager"; import LevelUpManager from "../Manager/LevelUpManager"; import ShipuManager from "../Manager/ShipuManager"; import TanWeiManager from "../Manager/TanWeiManager"; import UserManager from "../Manager/UserManager"; import PrefabManage, { GameType } from "../PrefabManager/PrefabManage"; import ZhaoHuanTai from "../ZhaoHuanTai/ZhaoHuanTai"; import GetAward from "./GetAward"; const { ccclass, property } = cc._decorator; export enum GetAward_BtnStatus { ChuShou, BeiBao, BuYao, LingQu } @ccclass export default class GetDiaoLuo extends cc.Component { @property(cc.Node) diaoluo_1: cc.Node = null; @property(cc.Node) diaoluo_2: cc.Node = null; @property(cc.Sprite) icon_1: cc.Sprite = null; @property(cc.Label) name_1: cc.Label = null; @property(cc.RichText) shouyi: cc.RichText = null; @property(cc.Sprite) icon_2_1: cc.Sprite = null; @property(cc.Sprite) icon_2_2: cc.Sprite = null; @property(cc.Sprite) dikuang_2_1: cc.Sprite = null; @property(cc.Sprite) dikuang_2_2: cc.Sprite = null; @property(cc.Label) name_2_1: cc.Label = null; @property(cc.Label) name_2_2: cc.Label = null; @property(cc.Label) shouyiname_2_1: cc.Label = null; @property(cc.Label) shouyiname_2_2: cc.Label = null; @property(cc.Label) shouyi_2_1: cc.Label = null; @property(cc.Label) shouyi_2_2: cc.Label = null; @property(cc.Label) allGetNum: cc.Label = null; @property(cc.RichText) shouyiUp: cc.RichText = null; goodId: any; diaoluoData: any; levelBgName = ['物品-灰_', '物品-灰_', '物品-绿', '物品-蓝', '物品-紫', '物品-橙', '物品-彩'] levelName = ['粗糙', '粗糙', '普通', '高级', '优秀', '极品', '神话'] m_index = 0 start() { this.diaoluo_1.active = true this.diaoluo_2.active = false Common5.playRemoteAudioEffect("remotesound/effect/掉落弹窗") cc.sys.localStorage.setItem("掉落引导", '1') } initView(diaoluo, callFunc?) { this.diaoluoData = diaoluo // if (typeof (diaoluo.wuping) == "number") { // this.goodId = diaoluo.wuping // Common5.addUrlSprite_custom("GoodIcon/texture/icon/" + this.goodId, this.icon_1) // let configDate = BagManager.getBagGoodConfig(this.goodId) // this.diaoluo_1.getChildByName("道具名称").getChildByName("name").getComponent(cc.Label).string = configDate.goodName // } else { // let configDate // let id = this.diaoluoData.wuping.id // if (diaoluo.wuping.isShiPu) { // configDate = ShipuManager.getShipuConfigDate(id) // let beishu = ShipuManager.getShipuInComeByIdAndLevel(id, diaoluo.pingzhi) // this.shouyi.string = `秒赚收益:x${beishu}倍` // Common5.addUrlSprite_custom('shipuIcon/' + configDate.name, this.icon_1) // } else { // configDate = TanWeiManager.getShipuConfigDate(id) // let beishu = TanWeiManager.getShipuInComeByIdAndLevel(id, diaoluo.pingzhi) // this.shouyi.string = `点击收益:x${beishu}倍` // Common5.addUrlSprite_custom('tanweiTexture/icon/' + configDate.name, this.icon_1) // } // this.name_1.string = configDate.name // } //全都要剩余次数 //新版本强制到3 if (User.getDiaoLuoAllGet() > 5) { User.setDiaoLuoAllGet(3) } this.allGetNum.string = `${User.getDiaoLuoAllGet()}/3` if (User.getDiaoLuoAllGet() <= 0) { this.diaoluo_1.getChildByName("替换").getComponent(cc.Button).interactable = false } for (let i = 0; i < diaoluo.length; i++) { let _diaoluo = diaoluo[i] if (_diaoluo.wuping.isShiPu || _diaoluo.wuping.isTanWei) { let configDate let id = _diaoluo.wuping.id let node = cc.instantiate(this.diaoluo_1.getChildByName("dikuang")) node.active = true node.attr({ diaoluoData: _diaoluo }) this.diaoluo_1.getChildByName("掉落物品").addChild(node) let kuang = node.getChildByName("kuang") Common5.getSpriteFrameFromBundle("GameRes", 'getDiaoLuo/奖励弹窗/' + this.levelBgName[_diaoluo.pingzhi], kuang.getComponent(cc.Sprite)) let icon = node.getChildByName("kuang").getChildByName("icon") if (_diaoluo.wuping.isShiPu) { configDate = ShipuManager.getShipuConfigDate(id) let beishu = ShipuManager.getShipuInComeByIdAndLevel(id, _diaoluo.pingzhi) // this.shouyi.string = `秒赚收益:x${beishu}倍` Common5.addUrlSprite_custom('shipuIcon/' + configDate.name, icon.getComponent(cc.Sprite)) node.getChildByName("name").getComponent(cc.Label).string = configDate.name + `(${this.levelName[_diaoluo.pingzhi]})` node.getChildByName("shouyi").getComponent(cc.RichText).string = `秒赚收益:x${beishu}倍` } else { configDate = TanWeiManager.getShipuConfigDate(id) let beishu = TanWeiManager.getShipuInComeByIdAndLevel(id, _diaoluo.pingzhi) // this.shouyi.string = `点击收益:x${beishu}倍` Common5.addUrlSprite_custom('tanweiTexture/icon/' + configDate.name, icon.getComponent(cc.Sprite)) node.getChildByName("name").getComponent(cc.Label).string = configDate.name + `(${this.levelName[_diaoluo.pingzhi]})` node.getChildByName("shouyi").getComponent(cc.RichText).string = `点击收益:x${beishu}倍` } if (_diaoluo.wuping.isAD) { node.getChildByName("视频图标").active = true } else { node.getChildByName("视频图标").active = false } } else if (_diaoluo.wuping.isZhuZi) {//珠子 let node = cc.instantiate(this.diaoluo_1.getChildByName("dikuang")) node.active = true node.attr({ diaoluoData: _diaoluo }) node.getChildByName("视频图标").active = false this.diaoluo_1.getChildByName("掉落物品").addChild(node) let kuang = node.getChildByName("kuang") Common5.getSpriteFrameFromBundle("GameRes", 'getDiaoLuo/奖励弹窗/' + this.levelBgName[2], kuang.getComponent(cc.Sprite)) let icon = node.getChildByName("kuang").getChildByName("icon") Common5.addUrlSprite_custom("GoodIcon/texture/icon/" + _diaoluo.wuping.id, icon.getComponent(cc.Sprite)) // node.getChildByName("shouyi").active = false node.getChildByName("name").getComponent(cc.Label).string = BagManager.getJuQingGoodConfig(_diaoluo.wuping.id).goodName node.getChildByName("shouyi").getComponent(cc.RichText).string = `集齐7颗可以开出神秘大奖` } else if (_diaoluo.wuping.isQian) { let node = cc.instantiate(this.diaoluo_1.getChildByName("dikuang")) node.active = true node.attr({ diaoluoData: _diaoluo }) node.getChildByName("视频图标").active = false this.diaoluo_1.getChildByName("掉落物品").addChild(node) let kuang = node.getChildByName("kuang") Common5.getSpriteFrameFromBundle("GameRes", 'getDiaoLuo/奖励弹窗/' + this.levelBgName[_diaoluo.pingzhi], kuang.getComponent(cc.Sprite)) let icon = node.getChildByName("kuang").getChildByName("icon") Common5.addUrlSprite_custom("GoodIcon/texture/icon/" + _diaoluo.wuping.id, icon.getComponent(cc.Sprite)) // node.getChildByName("shouyi").active = false node.getChildByName("name").getComponent(cc.Label).string = '钱袋子' + `(${this.levelName[_diaoluo.pingzhi]})` let money = LevelUpManager.levelUpSpned() * (_diaoluo.pingzhi + 1) let moneyStr = Common5.getNumberChangeHanzi(money) node.getChildByName("shouyi").getComponent(cc.RichText).string = `金额:${moneyStr}` if (_diaoluo.wuping.isAD) { node.getChildByName("视频图标").active = true } else { node.getChildByName("视频图标").active = false } } else if (_diaoluo.wuping.isDengJi) { let node = cc.instantiate(this.diaoluo_1.getChildByName("dikuang")) node.active = true node.attr({ diaoluoData: _diaoluo }) node.getChildByName("视频图标").active = false this.diaoluo_1.getChildByName("掉落物品").addChild(node) let kuang = node.getChildByName("kuang") Common5.getSpriteFrameFromBundle("GameRes", 'getDiaoLuo/奖励弹窗/' + this.levelBgName[_diaoluo.pingzhi], kuang.getComponent(cc.Sprite)) let icon = node.getChildByName("kuang").getChildByName("icon") Common5.addUrlSprite_custom("GoodIcon/texture/icon/" + _diaoluo.wuping.id, icon.getComponent(cc.Sprite)) // node.getChildByName("shouyi").active = false node.getChildByName("name").getComponent(cc.Label).string = '等级提升' + `(${this.levelName[_diaoluo.pingzhi]})` node.getChildByName("shouyi").getComponent(cc.RichText).string = `提升:${_diaoluo.pingzhi}` if (_diaoluo.wuping.isAD) { node.getChildByName("视频图标").active = true } else { node.getChildByName("视频图标").active = false } } } this.node.scale = 0.1 cc.tween(this.node) .to(1.0, { scale: 1 }, { easing: 'elasticOut' }) .start() } onTouchCancel_1() { this.node.removeFromParent() this.node.destroy() } onTouchCancel_2() { this.diaoluo_1.active = true this.diaoluo_2.active = false } showTiHuan() { this.diaoluo_1.active = false // Common5.addUrlSprite_custom("GoodIcon/texture/icon/" + this.goodId, this.icon_2_1) // let goodData = BagManager.getGoodsProperty(this.goodId) let maxindex = this.diaoluoData.length if (this.m_index < maxindex) { let diaoluo = this.diaoluoData[this.m_index] this.showData(diaoluo, false) } if (this.m_index == 0) { let getDiaoLuoAllGet = User.getDiaoLuoAllGet() getDiaoLuoAllGet-- User.setDiaoLuoAllGet(getDiaoLuoAllGet) } } onTouchTiHuan() { let tab = { onClose: (finish) => { if (finish) { User.setShowAdNum(User.getShowAdNum() + 1) Common5.ReportDY("inLevel", `任务${TaskManager.getCurUnLockMainTaskId()}-AD-掉落看视频`) // Common5.ReportDY("inLevel", '掉落-AD-掉落看视频'); this.showTiHuan() } else { Common5.showTips_custom("广告未观看完"); } }, onFailed: () => { } } AppPlatform.playVideo_custom(tab) } showData(diaoluo, isone) { if (diaoluo.wuping.isShiPu || diaoluo.wuping.isTanWei) {//物品 let id = diaoluo.wuping.id if (diaoluo.wuping.isShiPu) { let configDate = ShipuManager.getShipuConfigDate(id) let userDate = ShipuManager.getShipuUserDate(id) this.name_2_1.string = configDate.name + `(${this.levelName[userDate.level]})` this.name_2_2.string = configDate.name + `(${this.levelName[diaoluo.pingzhi]})` Common5.addUrlSprite_custom('shipuIcon/' + configDate.name, this.icon_2_1) Common5.addUrlSprite_custom('shipuIcon/' + configDate.name, this.icon_2_2) Common5.getSpriteFrameFromBundle('GameRes', 'getDiaoLuo/奖励弹窗/' + this.levelBgName[userDate.level], this.dikuang_2_1) Common5.getSpriteFrameFromBundle('GameRes', 'getDiaoLuo/奖励弹窗/' + this.levelBgName[diaoluo.pingzhi], this.dikuang_2_2) let beishu1 = ShipuManager.getShipuInComeCurLevel(id) let beishu2 = ShipuManager.getShipuInComeByIdAndLevel(id, diaoluo.pingzhi) this.shouyiname_2_1.string = "秒赚收益:" this.shouyiname_2_2.string = "秒赚收益:" this.shouyi_2_1.string = `${beishu1}倍` this.shouyi_2_2.string = `${beishu2}倍` let cha = ShipuManager.getShipuInComeCha(id, diaoluo.pingzhi, userDate.level) this.shouyiUp.string = `秒赚收益永久提升:${cha}倍` this.shouyiUp.node.getChildByName("箭头").getComponent(cc.Widget).updateAlignment(); } else { let configDate = TanWeiManager.getShipuConfigDate(id) let userDate = TanWeiManager.getShipuUserDate(id) this.name_2_1.string = configDate.name + `(${this.levelName[userDate.level]})` this.name_2_2.string = configDate.name + `(${this.levelName[diaoluo.pingzhi]})` Common5.addUrlSprite_custom('tanweiTexture/icon/' + configDate.name, this.icon_2_1) Common5.addUrlSprite_custom('tanweiTexture/icon/' + configDate.name, this.icon_2_2) Common5.getSpriteFrameFromBundle('GameRes', 'getDiaoLuo/奖励弹窗/' + this.levelBgName[userDate.level], this.dikuang_2_1) Common5.getSpriteFrameFromBundle('GameRes', 'getDiaoLuo/奖励弹窗/' + this.levelBgName[diaoluo.pingzhi], this.dikuang_2_2) let beishu1 = TanWeiManager.getShipuInComeCurLevel(id) let beishu2 = TanWeiManager.getShipuInComeByIdAndLevel(id, diaoluo.pingzhi) this.shouyiname_2_1.string = "点击收益:" this.shouyiname_2_2.string = "点击收益:" this.shouyi_2_1.string = `${beishu1}倍` this.shouyi_2_2.string = `${beishu2}倍` let cha = TanWeiManager.getShipuInComeCha(id, diaoluo.pingzhi, userDate.level) this.shouyiUp.string = `点击收益永久提升:${cha}倍` this.shouyiUp.node.getChildByName("箭头").getComponent(cc.Widget).updateAlignment(); } this.diaoluo_2.active = true } else if (diaoluo.wuping.isZhuZi) {//珠子 let zhuzis = [3730, 3731, 3732, 3733, 3734, 3735, 3736] if (zhuzis.includes(diaoluo.wuping.id)) { let bagConfig: GoodsLocalProperty = { goodId: diaoluo.wuping.id, goodNum: 1, } BagManager.addBagList(bagConfig) PrefabManage.loadPrefabByType(GameType.ZhaoHuanTai, null, (node) => { node.getComponent(ZhaoHuanTai).init(diaoluo.wuping.id, () => { let maxindex = this.diaoluoData.length this.m_index++ if (this.m_index < maxindex && !isone) { this.showTiHuan() } else { this.node.removeFromParent() this.node.destroy() } }) }) } this.diaoluo_2.active = false } else if (diaoluo.wuping.isQian) { PrefabManage.loadPrefabByType(GameType.GetAward, null, (prefabNode) => { prefabNode.getComponent(GetAward).initView([{ goodId: diaoluo.wuping.id, goodNum: 1 }], () => { let money = LevelUpManager.levelUpSpned() * (diaoluo.pingzhi + 1) UserManager.addMoney(money) let maxindex = this.diaoluoData.length this.m_index++ if (this.m_index < maxindex && !isone) { this.showTiHuan() } else { this.node.removeFromParent() this.node.destroy() } }); }) this.diaoluo_2.active = false } else if (diaoluo.wuping.isDengJi) { PrefabManage.loadPrefabByType(GameType.GetAward, null, (prefabNode) => { prefabNode.getComponent(GetAward).initView([{ goodId: diaoluo.wuping.id, goodNum: 1 }], () => { LevelUpManager.peopleLevelUp(diaoluo.pingzhi) let maxindex = this.diaoluoData.length this.m_index++ if (this.m_index < maxindex && !isone) { this.showTiHuan() } else { this.node.removeFromParent() this.node.destroy() } }); }) this.diaoluo_2.active = false } } onTouchSure() { let _diaoluo = this.diaoluoData[this.m_index] let id = _diaoluo.wuping.id if (_diaoluo.wuping.isShiPu) { let userDate = ShipuManager.getShipuUserDate(id) ShipuManager.shipuLevelUpById(_diaoluo.wuping.id, _diaoluo.pingzhi - userDate.level) } else { let userDate = TanWeiManager.getShipuUserDate(id) TanWeiManager.shipuLevelUpById(_diaoluo.wuping.id, _diaoluo.pingzhi - userDate.level) } let maxindex = this.diaoluoData.length this.m_index++ if (this.m_index < maxindex) { this.showTiHuan() } else { this.node.removeFromParent() this.node.destroy() } } onTouch(event) { let node = event.target if (node.getChildByName("视频图标").active) { let tab = { onClose: (finish) => { if (finish) { User.setShowAdNum(User.getShowAdNum() + 1) Common5.ReportDY("inLevel", `任务${TaskManager.getCurUnLockMainTaskId()}-AD-掉落看视频`) // Common5.ReportDY("inLevel", '掉落-AD-掉落看视频'); this.diaoluo_1.active = false this.diaoluoData = [node.diaoluoData] this.showData(node.diaoluoData, true) } else { Common5.showTips_custom("广告未观看完"); } }, onFailed: () => { } } AppPlatform.playVideo_custom(tab) } else { this.diaoluo_1.active = false this.diaoluoData = [node.diaoluoData] this.showData(node.diaoluoData, true) } } onCloseAward() { this.node.removeFromParent() this.node.destroy() } }