FightRewardUI.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { _decorator, Component, Node } from 'cc';
  2. import { DataSystem } from '../../core/data/DataSystem';
  3. import { WindowOpenMode } from '../../core/ui/window/WindowOpenMode';
  4. import { WindowSystem } from '../../core/ui/window/WindowSystem';
  5. import { UserData } from '../../data/UserData';
  6. import { ReportThinking } from '../../ReportThinking';
  7. import { FightRewardItem } from '../item/FightRewardItem';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('FightRewardUI')
  10. export class FightRewardUI extends Component {
  11. @property({ type: [FightRewardItem], tooltip: "奖励类型Item数组" })
  12. rewardItems: FightRewardItem[] = [];
  13. private rewardData: [{ rewardType: number, num: number }];
  14. /**
  15. * 初始化
  16. * @param 奖励数据 rewardType 奖励类型 1 粮草 2 元宝 3 红包币 4 威望石 num 奖励数量
  17. */
  18. private onParam(data: [{ rewardType: number, num: number }]) {
  19. this.rewardData = data;
  20. for (let i = 0; i < data.length; i++) {
  21. this.rewardItems[data[i].rewardType - 1].node.active = true;
  22. this.rewardItems[data[i].rewardType - 1].txtRewardNum.string = `x${data[i].num > 1000 ? (data[i].num / 1000).toFixed(1) + "k" : data[i].num}`;
  23. }
  24. }
  25. /**获取奖励类型*/
  26. private getRewardType(data: any) {
  27. let pNmae = ''
  28. switch (data.rewardType) {
  29. case 1:
  30. pNmae = 'money';
  31. return 1;
  32. case 2:
  33. pNmae = 'diamond';
  34. return 2;
  35. case 3:
  36. pNmae = 'bouns';
  37. return 3;
  38. case 4:
  39. pNmae = 'prestige';
  40. return 7;
  41. }
  42. let userData = DataSystem.getData(UserData);
  43. ReportThinking.currency_increase(pNmae, userData[pNmae], data.num, userData[pNmae] + data.num, 'fightReward');
  44. }
  45. onDestroy() {
  46. for (let i = 0; i < this.rewardData.length; i++) {
  47. WindowSystem.open("prefabs/ui/turntable/prizeFly", WindowOpenMode.NotCloseAndAdd, [{ type: this.getRewardType(this.rewardData[i]), num: this.rewardData[i].num }]);
  48. }
  49. }
  50. }