| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- /**收获界面数据类 */
- 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;
- }
- }
|