UEMergeTipItem.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import Gamecfg from "../../common/gameCfg";
  2. import GameDataCenter from "../../data/GameDataCenter";
  3. import { MergeItem } from "../../data/model/GridMap/GridMapModel";
  4. import ResSprite from "../../frameWork/compment/ResSprite";
  5. import UEBase from "../../frameWork/compment/UEBase";
  6. import { HcType } from "../../shared/hc/PtlHcInfo";
  7. import AssetMgr from "../../utils/AssetMgr";
  8. const { ccclass, property } = cc._decorator;
  9. export interface I_MergeTipItemData {
  10. data: MergeItem;
  11. }
  12. @ccclass
  13. export default class UEMergeTipItem extends UEBase {
  14. static readonly BundleKey: string = "gridMap";
  15. static readonly PrefabUrl: string = "UEMergeTipItem";
  16. static readonly CLS: string = "UEMergeTipItem";
  17. @property(ResSprite)
  18. sp_quality: ResSprite = null!;
  19. @property(ResSprite)
  20. sp_icon: ResSprite = null!;
  21. @property(cc.Node)
  22. node_lock: cc.Node = null!;
  23. @property(cc.Label)
  24. lbt_rate: cc.Label = null;
  25. data: I_MergeTipItemData = null!;
  26. Init(data: I_MergeTipItemData) {
  27. this.data = data;
  28. this.ShowItem(this.data.data);
  29. }
  30. private ShowItem(data: MergeItem) {
  31. if (data) {
  32. this.lbt_rate.string = `${(this.data.data.rate / 100).toFixed(0)}%`;
  33. this.node.active = true;
  34. this.node_lock.active = false;
  35. this.sp_icon.node.active = true;
  36. let quality = 0;
  37. if (data.type == HcType.emitter) {
  38. let mergePropCfg = Gamecfg.emitterInfo.getItem(data.id.toString());
  39. this.sp_icon.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg?.icon}`);
  40. quality = mergePropCfg.quality;
  41. } else if (data.type == HcType.material) {
  42. let mergePropCfg = Gamecfg.mergePropInfo.getItem(data.id.toString());
  43. this.sp_icon.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg?.icon}`);
  44. quality = mergePropCfg.quality;
  45. } else if (data.type == HcType.equip) {
  46. let mergePropCfg = Gamecfg.equipInfo.getItem(data.id.toString());
  47. this.sp_icon.setSpriteFrame('gridMap', `mergeEquip/${mergePropCfg?.icon}`);
  48. quality = mergePropCfg.quality;
  49. }
  50. this.sp_quality.setSpriteFrame('gridMap', `images/Img_zjm_pinzhi0${quality}`);
  51. } else {
  52. this.node.active = false;
  53. }
  54. }
  55. }