| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 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<any> = [];
- /** 奖励列表 */
- set data(value: Array<any>) {
- this._data = value;
- }
- get data(): Array<any> {
- return this._data;
- }
- /** 回调函数 */
- public callback = null;
- /**
- * 气泡子红包类型
- * - 1 主界面气泡、关卡气泡
- * - 2 关卡消除
- */
- subType: number = 1;
- //reward界面关闭回调
- closeUICallBack: Function = null;
- /**
- * 奖励添加
- */
- public addReward() {
- const i_count = gData.reward.data.length;
- 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 = [];
- }
- public flyCoinAnim(world_Pos: cc.Vec2 = null) {
- if (!gData.reward.data || !gData.reward.data.length) return;
- let is_add_money = true;
- const i_count = gData.reward.data.length;
- 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;
- 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(gData.reward.data[i].rewardType, num, world_Pos, endPos, () => {
- is_add_money && this.addReward();
- 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);
- }
- }
- }
|