BadgeItem.ts 931 B

12345678910111213141516171819202122232425262728293031
  1. import { _decorator, Component, Node } from "cc";
  2. import { BadgeInfo } from "../../scripts/api/UserM";
  3. import ConfigM, { ConfigBadge } from "../../scripts/api/ConfigM";
  4. import BaseUI from "../../scripts/base/BaseUI";
  5. import AB from "../../scripts/base/AB";
  6. import { Sprite } from "cc";
  7. const { ccclass, property } = _decorator;
  8. @ccclass("BadgeItem")
  9. export class BadgeItem extends BaseUI {
  10. async init(item: BadgeInfo) {
  11. let badge = ConfigM.ins.getBadge(item.id);
  12. this.setText("lbl_badge_name", badge.desc);
  13. this.setText("lbl_badge_addition", badge.addition + "%");
  14. let path = null;
  15. if (badge.type == 1) {
  16. path = "texture/common/grade" + badge.id;
  17. }
  18. let iconSprite = this.FindAs("icon_badge", Sprite);
  19. try {
  20. let spriteFrame = await AB.ins.loadSpriteFrame(path);
  21. iconSprite.spriteFrame = spriteFrame;
  22. } catch (error) {
  23. iconSprite.node.active = false;
  24. }
  25. }
  26. }