| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- import GamePlay from "../../../before/GamePlay";
- import { AdFun } from "../../data/AdData";
- import { BannerAdType, ExpAddType, GameProp, InterAdType, RewardType } from "../../data/GameData";
- const { ccclass, property } = cc._decorator;
- /**
- * 盖子类型
- */
- enum LidType {
- /** 无盖子 */
- none = 0,
- /** 幸运红包盖子 */
- luck = 1,
- /** 通关红包盖子 */
- mission = 2
- }
- /**
- * 获取奖励界面-红包
- * @author 薛鸿潇
- */
- @ccclass
- export default class Reward extends cc.Component {
- //新红包界面展示
- @property({ displayName: '新红包节点', type: cc.Node })
- private node_newRedBag: cc.Node = null;
- @property({ displayName: '新红包奖励数量', type: cc.Label })
- private lbl_reward_num: cc.Label = null;
- @property({ displayName: '红包节点', type: cc.Sprite })
- private node_hb: cc.Sprite = null;
- @property({ displayName: '描述', type: cc.Label })
- private lbl_des: cc.Label = null;
- /** 当前阶段 */
- private cur_stage: number = LidType.none;
- onLoad() {
- this.lbl_reward_num.string = 'x0';
- // gData.reward.data = [{ rewardType: 3, rewardNum: 100 }]// 测试数据
- this.watchVideoCall();
- }
- start() {
- mk.audio.playEffect("congratulations");
- }
- onEnable() {
- //gData.adData.checkPopInter(InterAdType.interstitial1_click_2);
- mk.ad.showNative();
- gData.gameData.popTableScreenADLogic(1);
- mk.ad.showBanner(BannerAdType.banner_click_1);
- }
- onDisable() {
- // mk.ad.destoryBanner();
- mk.ad.destroyNativeAd();
- }
- lateUpdate() {
- gData.reward.add_redbag_value = 0;
- }
- /**
- * 看广告回调:开奖
- */
- private async watchVideoCall() {
- if (gData.adData.curRedBagAdFun == AdFun.bubble) {
- gData.adData.curSelQipao.active = false;
- }
- else if (gData.adData.curRedBagAdFun == AdFun.settlement) {
- GamePlay.Inst.nextLevel();
- }
- if (gData.reward.adData) {
- // 气泡视频奖励 通关视频奖励
- // gData.reward.adData.videoRedMoney.videoRewardList = [{ rewardType: 3, rewardNum: 1000 }, { rewardType: 1, rewardNum: 1000 }]// 测试数据
- gData.reward.data = gData.reward.adData.videoRedMoney.videoRewardList;
- gData.reward.adData = null;
- }
- if (!gData.reward.data || !gData.reward.data.length) return;
- this.cur_stage = LidType.none;
- // 数据排序:多条奖励,只展示红包,把红包放在首位
- const r_count = gData.reward.data.length;
- if (r_count >= 2) {
- for (let i = 0; i < r_count; i++) {
- if (gData.reward.data[i].rewardType === RewardType.redBag) {
- let new_data = gData.reward.data.splice(i, 1);
- gData.reward.data.unshift(new_data[0]);
- break;
- }
- }
- }
- // 图标展示
- this.node_hb.spriteFrame = await mk.loader.load('game/texture/coin/' + gData.reward.data[0].rewardType, cc.SpriteFrame);
- if (gData.reward.data[0].rewardType === RewardType.productTimes) {
- this.node_hb.node.scale = 0.5;
- } else {
- this.node_hb.node.scale = 1;
- }
- let rewardNum: number = gData.reward.data[0].rewardNum || 0;
- if (gData.reward.data[0].rewardType === RewardType.pigRmb) {
- } else {
- if (gData.reward.data[0].rewardType != RewardType.productTimes) {
- rewardNum = Math.round(rewardNum / 100);
- this.lbl_des.string = '红包币'
- } else {
- this.lbl_des.string = '生产次数'
- }
- this.lbl_reward_num.string = `+${rewardNum}`;
- }
- // 底部进度动画
- if (gData.reward.data[0].rewardType === RewardType.redBag) {
- gData.reward.add_redbag_value = gData.reward.data[0].rewardNum;
- }
- }
- /**
- * 点击获得奖励
- */
- private clickGetReward() {
- // cc.log('获取奖励:', gData.reward.data);
- // if (gData.reward.data[0].rewardType == RewardType.productTimes) {
- // let com = gData.gameData.playerProp.userFarmTaskInfo.completeCount;
- // let count = gData.gameData.playerProp.userFarmTaskInfo.taskCount;
- // let curDes = `<color=8A4312>继续生产,还有<color=ff0000>${count - com}次</color>即可\n提现<color=ff0000>!</color></color>`;
- // mk.guide.open(3, curDes);
- // }
- let world_Pos = this.node_hb.node.parent.convertToWorldSpaceAR(this.node_hb.node.getPosition());
- gData.reward.flyCoinAnim(world_Pos);
- if (gData.reward.callback) {
- gData.reward.callback();
- gData.reward.callback = null;
- }
- else {
- gData.farmGradeData.addGradeExp(ExpAddType.EAT_others, world_Pos);
- }
- this.onClickClose();
- }
- /**
- * 提现操作
- */
- private clickCashOut() {
- gData.reward.addReward();
- mk.ui.closePanel(this.node.name);
- let path = 'module/redBagCash/redBagCash';
- mk.ui.openPanel(path);
- }
- onDestroy() {
- if (this.cur_stage === LidType.none) {
- mk.audio.playEffect("button");
- }
- if (gData.reward.closeUICallBack) {
- gData.reward.closeUICallBack();
- gData.reward.closeUICallBack = null;
- }
- }
- onClickClose() {
- // mk.ad.destoryBanner();
- }
- }
|