UEMergeTipItem.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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_icon: ResSprite = null!;
  19. @property(cc.Node)
  20. node_lock: cc.Node = null!;
  21. @property(cc.Label)
  22. lbt_rate: cc.Label = null;
  23. data: I_MergeTipItemData = null!;
  24. Init(data: I_MergeTipItemData) {
  25. this.data = data;
  26. this.ShowItem(this.data.data);
  27. }
  28. private ShowItem(data: MergeItem) {
  29. if (data) {
  30. this.lbt_rate.string = `${(this.data.data.rate / 100).toFixed(0)}%`;
  31. this.node.active = true;
  32. this.node_lock.active = false;
  33. this.sp_icon.node.active = true;
  34. if (data.type == HcType.emitter) {
  35. let mergePropCfg = Gamecfg.emitterInfo.getItem(data.id.toString());
  36. this.sp_icon.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg?.icon}`);
  37. } else if (data.type == HcType.material) {
  38. let mergePropCfg = Gamecfg.mergePropInfo.getItem(data.id.toString());
  39. this.sp_icon.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg?.icon}`);
  40. } else if (data.type == HcType.equip) {
  41. let mergePropCfg = Gamecfg.equipInfo.getItem(data.id.toString());
  42. this.sp_icon.setSpriteFrame('gridMap', `mergeEquip/${mergePropCfg?.icon}`);
  43. }
  44. } else {
  45. this.node.active = false;
  46. }
  47. }
  48. }