import { Data } from "../../../mk/data/Data"; import { ExpAddType, RewardType } from "../GameData"; /** * @description 奖励数据 * @author 邹勇 薛鸿潇 */ export class RewardData extends Data { /** 增加的红包币 */ public add_redbag_value: number = 0; private _data: Array = []; /** 奖励列表 */ set data(value: Array) { this._data = value; } get data(): Array { return this._data; } /** 回调函数 */ public callback = null; //reward界面关闭回调 closeUICallBack: Function = null; isAddMoney = false; /** * 奖励添加 */ public addReward() { let i_count = gData.reward.data.length; mk.console.logSingle('addReward ', gData.reward.data); for (let i = 0; i < i_count; i++) { if (gData.reward.data[i].rewardType == RewardType.redBag) { if (gData.reward.data[i].rewardNum) { gData.gameData.addHb = gData.reward.data[i].rewardNum; gData.gameData.playerProp.redMoney += gData.reward.data[i].rewardNum; } } else if (gData.reward.data[i].rewardType == RewardType.rmb) { // ? } else if (gData.reward.data[i].rewardType == RewardType.pigRmb) { if (gData.reward.data[i].rewardNum) { gData.gameData.playerProp.piggyBank += gData.reward.data[i].rewardNum; } } } gData.reward.data = []; this.isAddMoney = false; } public flyCoinAnim(world_Pos: cc.Vec2 = null) { if (!gData.reward.data || !gData.reward.data.length) return; let i_count = gData.reward.data.length; this.isAddMoney = true; let rewardData = gData.reward.data; console.log('gData.reward.data >>>> ', rewardData); this.addReward(); for (let i = 0; i < i_count; i++) { // if (gData.reward.data[i].rewardType === RewardType.rmb) continue; // if (gData.reward.data[i].rewardNum == 0) continue; if (rewardData[i].rewardType == RewardType.redBag) { mk.audio.playEffect('redmoney'); let endPos = ''; let num = 10; let scale = -1; // if (gData.reward.data[i].rewardType === RewardType.productTimes) { // endPos = 'Canvas/主界面层/game/功能按钮/底部按钮/中间按钮'; // num = 5; // scale = 0.5; // } mk.fly.PlayCoinAnim(rewardData[i].rewardType, num, world_Pos, endPos, () => { console.log('PlayCoinAnim callback'); if (gData.gameData.popTipCallBack) { gData.gameData.popTipCallBack(); gData.gameData.popTipCallBack = null; } }, scale) } } } public getReward(world_Pos: cc.Vec2) { //let world_Pos = this.node_hb.node.parent.convertToWorldSpaceAR(this.node_hb.node.getPosition()); this.flyCoinAnim(world_Pos); if (this.callback) { this.callback(); this.callback = null; } else { gData.farmGradeData.addGradeExp(ExpAddType.EAT_others, world_Pos); } } }