RewardData.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import { Data } from "../../../mk/data/Data";
  2. import { ExpAddType, RewardType } from "../GameData";
  3. /**
  4. * @description 奖励数据
  5. * @author 邹勇 薛鸿潇
  6. */
  7. export class RewardData extends Data {
  8. /** 增加的红包币 */
  9. public add_redbag_value: number = 0;
  10. private _data: Array<any> = [];
  11. /** 奖励列表 */
  12. set data(value: Array<any>) {
  13. this._data = value;
  14. }
  15. get data(): Array<any> {
  16. return this._data;
  17. }
  18. /** 回调函数 */
  19. public callback = null;
  20. //reward界面关闭回调
  21. closeUICallBack: Function = null;
  22. isAddMoney = false;
  23. /**
  24. * 奖励添加
  25. */
  26. public addReward() {
  27. let i_count = gData.reward.data.length;
  28. mk.console.logSingle('addReward ', gData.reward.data);
  29. for (let i = 0; i < i_count; i++) {
  30. if (gData.reward.data[i].rewardType == RewardType.redBag) {
  31. if (gData.reward.data[i].rewardNum) {
  32. gData.gameData.addHb = gData.reward.data[i].rewardNum;
  33. gData.gameData.playerProp.redMoney += gData.reward.data[i].rewardNum;
  34. }
  35. } else if (gData.reward.data[i].rewardType == RewardType.rmb) {
  36. // ?
  37. } else if (gData.reward.data[i].rewardType == RewardType.pigRmb) {
  38. if (gData.reward.data[i].rewardNum) {
  39. gData.gameData.playerProp.piggyBank += gData.reward.data[i].rewardNum;
  40. }
  41. }
  42. }
  43. gData.reward.data = [];
  44. this.isAddMoney = false;
  45. }
  46. public flyCoinAnim(world_Pos: cc.Vec2 = null) {
  47. if (!gData.reward.data || !gData.reward.data.length) return;
  48. let i_count = gData.reward.data.length;
  49. this.isAddMoney = true;
  50. let rewardData = gData.reward.data;
  51. console.log('gData.reward.data >>>> ', rewardData);
  52. this.addReward();
  53. for (let i = 0; i < i_count; i++) {
  54. // if (gData.reward.data[i].rewardType === RewardType.rmb) continue;
  55. // if (gData.reward.data[i].rewardNum == 0) continue;
  56. if (rewardData[i].rewardType == RewardType.redBag) {
  57. mk.audio.playEffect('redmoney');
  58. let endPos = '';
  59. let num = 10;
  60. let scale = -1;
  61. // if (gData.reward.data[i].rewardType === RewardType.productTimes) {
  62. // endPos = 'Canvas/主界面层/game/功能按钮/底部按钮/中间按钮';
  63. // num = 5;
  64. // scale = 0.5;
  65. // }
  66. mk.fly.PlayCoinAnim(rewardData[i].rewardType, num, world_Pos, endPos, () => {
  67. console.log('PlayCoinAnim callback');
  68. if (gData.gameData.popTipCallBack) {
  69. gData.gameData.popTipCallBack();
  70. gData.gameData.popTipCallBack = null;
  71. }
  72. }, scale)
  73. }
  74. }
  75. }
  76. public getReward(world_Pos: cc.Vec2) {
  77. //let world_Pos = this.node_hb.node.parent.convertToWorldSpaceAR(this.node_hb.node.getPosition());
  78. this.flyCoinAnim(world_Pos);
  79. if (this.callback) {
  80. this.callback();
  81. this.callback = null;
  82. }
  83. else {
  84. gData.farmGradeData.addGradeExp(ExpAddType.EAT_others, world_Pos);
  85. }
  86. }
  87. }