PkRedPrizeWin.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { _decorator, Component, Node, Prefab, instantiate, EventHandler } from 'cc';
  2. import { ResourcesUtils } from '../core/resourceManager/ResourcesUtils';
  3. import { PkRedPrizeItem } from '../Item/pkRedPrizeItem';
  4. const { ccclass, property } = _decorator;
  5. @ccclass('PkRedPrizeWin')
  6. export class PkRedPrizeWin extends Component {
  7. @property({ tooltip: "奖品展示框", type: Node }) public prizeList: Node;
  8. @property({ tooltip: "领取按钮", type: Node }) public getPrizeBtn: Node;
  9. @property({ tooltip: "回调", type: EventHandler }) public backFun: EventHandler;
  10. start() {
  11. // [3]
  12. }
  13. /**
  14. * 初始化
  15. * @param data 0:奖励数据
  16. */
  17. public async setData(data: any[]) {
  18. let prizeData = data[0];
  19. prizeData.sort(function (a, b) {
  20. if (a.type == b.type) {
  21. return a.value - b.value;
  22. } else {
  23. return b.type - a.type;
  24. }
  25. })
  26. for (let i = 0; i < prizeData.length; i++) {
  27. let prefab = await ResourcesUtils.load<Prefab>("Prefabs/Item/切磋红包奖励Item", null, this.node);
  28. let prizeItem = instantiate(prefab);
  29. if (i == prizeData.length - 1) {
  30. prizeItem.getComponent(PkRedPrizeItem).setData(prizeData[i].type, prizeData[i].value, this.backFun, i);
  31. } else {
  32. prizeItem.getComponent(PkRedPrizeItem).setData(prizeData[i].type, prizeData[i].value, null, i);
  33. }
  34. prizeItem.parent = this.prizeList;
  35. }
  36. }
  37. public showCloseBtn() {
  38. this.getPrizeBtn.active = true;
  39. }
  40. }