/**收获界面数据类 */ import { AdFun, RateConfig } from "../../../game/data/AdData"; import { DataEventId, VideoAdType } from "../../../game/data/GameData"; import Guide from "../../../game/module/guide/Guide"; import { Data } from "../../../mk/data/Data"; const { ccclass } = cc._decorator; @ccclass export default class HarvestData extends Data { configID = null; plantID = null; config = null; call = null; //领取类型 0 普通领取 1 超级加倍 getType = 0; init_reward = false; node_fly: cc.Node = null; isMatchOrder = false; //是否是点击一键生产按钮 isTouchBtn = false; isCrops_ = 0; //isCrops 0 农作物,1动物,2商品 openPanel(configID, plantID, call, node, isCrops = 0, isTouchBtn = false, isTeach = false) { this.configID = configID; this.plantID = plantID; this.call = call; this.node_fly = node; this.isTouchBtn = isTouchBtn; this.isCrops_ = isCrops; this.config = gData.gameData.getProductMap(this.plantID); mk.data.sendDataEvent('Harvest', this.config.name); mk.ad.videoAdType = VideoAdType.video_init_24; gData.adData.curRedBagAdFun = AdFun.harvest; mk.ui.openPanel('module/newOpenRedBag/newOpenRedBag'); return; //this.judgeIsMatchOrder(); if (!isTeach && isCrops != 0) { let isTeaching = mk.guide.isGuiding(); let rand = Math.random(); let rate = gData.adData.getPerByEcpm(RateConfig.RC_superDouble); if (!isTeaching && rand <= rate) { if (gData.gameData.playerProp.orderData && gData.gameData.playerProp.orderData.overTimes > 0) { let str = gData.gameData.prohibiJBAd[gData.loginData.userChannel].split(","); if (str[1 - gData.loginData.isMatched] == "1") { mk.ui.openPanel('game/prefab/uiPanel/HarvestPanel'); } else { this.getNormalReward(); } } else { this.getNormalReward(); } } else { this.getNormalReward(); } } else { this.getNormalReward(); } } setAdData(data) { mk.console.logSingle('HarvestData addata ', this.adData); super.setAdData(data); if (gData.gameData.isOrderVideo) { gData.reward.data = gData.harvestData.adData.videoRedMoney.videoRewardList; gData.reward.addReward(); return; } //奖励弹窗 gData.reward.adData = gData.harvestData.adData; // gData.reward.data = gData.harvestData.adData.videoRedMoney.videoRewardList; gData.reward.callback = gData.harvestData.call; mk.ui.openPanel('module/reward/reward'); // let world_Pos = this.node_fly.parent.convertToWorldSpaceAR(this.node_fly.getPosition()); // gData.reward.getReward(world_Pos); // gData.harvestData.call = null; if (this.isCrops_ == 1) { mk.data.sendDataEvent(DataEventId.button_click, "动物超级加倍收获"); } else if (this.isCrops_ == 2) { mk.data.sendDataEvent(DataEventId.button_click, "商品超级加倍收获"); } } async getNormalReward() { await mk.time.WaitForSeconds(0.2); let data = { id: this.config.id }; let response = await mk.http.sendData('redMoney/addRedMoneyByFarm', data); if (response && response.errcode != 0) { return; } //奖励弹窗 if (response.data.redMoneyAddition <= 0) { console.log('返回奖励为0') } else { if (this.isTouchBtn) { let world_Pos = this.node_fly.parent.convertToWorldSpaceAR(this.node_fly.getPosition()); let pos = mk.fly.node.convertToNodeSpaceAR(world_Pos); let prefab = await mk.loader.load("module/guide/hand", cc.Prefab); let hand = cc.instantiate(prefab); hand.scale = 0.8; let ani = hand.getComponent(cc.Animation); let state = ani.getAnimationState("guideA"); state.speed = 2; hand.parent = mk.fly.node; hand.setPosition(pos); cc.tween(hand).delay(0.4).call(() => { this.getType = 0; let rewardData = [{ rewardType: 1, rewardNum: response.data.redMoneyAddition }]; gData.reward.data = rewardData; gData.reward.callback = this.call; //let world_Pos = this.node_fly.parent.convertToWorldSpaceAR(this.node_fly.getPosition()); gData.reward.getReward(world_Pos); }).removeSelf().start(); } else { this.getType = 0; let rewardData = [{ rewardType: 1, rewardNum: response.data.redMoneyAddition }]; gData.reward.data = rewardData; gData.reward.callback = this.call; let world_Pos = this.node_fly.parent.convertToWorldSpaceAR(this.node_fly.getPosition()); gData.reward.getReward(world_Pos); let str = "+" + response.data.redMoneyAddition / 100 + ""; let pos = mk.fly.node.convertToNodeSpaceAR(world_Pos); let prefab = await mk.loader.load("game/prefab/flyHb", cc.Prefab); let hand = cc.instantiate(prefab); //hand.opacity = 0; hand.zIndex = 1000; hand.parent = mk.fly.node; hand.setPosition(pos); let lab_value = hand.getComponentInChildren(cc.Label); lab_value.string = str; cc.tween(hand).by(0.8, { y: 100 }).to(0.4, { opacity: 0 }).removeSelf().start(); //mk.ui.openPanel('module/reward/reward'); } } let isTeaching = mk.guide.isGuiding(); if (!isTeaching) { let pop = gData.adData.checkShowFullInter(4); if (pop) { gData.moreGame.openType = 0; mk.data.sendDataEvent(DataEventId.htRedBag_scene, "点击可收获"); } } if (this.isCrops_ == 0) { mk.data.sendDataEvent(DataEventId.button_click, "农作物普通收获"); } else if (this.isCrops_ == 1) { mk.data.sendDataEvent(DataEventId.button_click, "动物普通收获"); } else if (this.isCrops_ == 2) { mk.data.sendDataEvent(DataEventId.button_click, "商品普通收获"); } } public judgeIsMatchOrder() { let data = gData.gameData.playerProp.orderData; if (data && data.orderTaskList) { let productJson = gData.gameData.configs.Product; let orderData = data.orderTaskList; let len = orderData.length; for (let i = 0; i != len; ++i) { let dataE = orderData[i]; if (dataE.Id <= productJson.length) { let productData = productJson[dataE.Id - 1]; if (productData.picture == this.plantID) { this.isMatchOrder = true; return; } } } } this.isMatchOrder = false; } }