import Gamecfg from "../../common/gameCfg"; import GameDataCenter from "../../data/GameDataCenter"; import { MergeItem } from "../../data/model/GridMap/GridMapModel"; import ResSprite from "../../frameWork/compment/ResSprite"; import UEBase from "../../frameWork/compment/UEBase"; import AssetMgr from "../../utils/AssetMgr"; import UECube, { E_CubeType } from "./UECube"; const { ccclass, property } = cc._decorator; export interface I_MergeTipItemData { data: MergeItem; } @ccclass export default class UEMergeTipItem extends UEBase { static readonly BundleKey: string = "gridMap"; static readonly PrefabUrl: string = "UEMergeTipItem"; static readonly CLS: string = "UEMergeTipItem"; @property(ResSprite) sp_icon: ResSprite = null!; @property(cc.Node) node_lock: cc.Node = null!; @property(cc.Label) lbt_rate: cc.Label = null; data: I_MergeTipItemData = null!; Init(data: I_MergeTipItemData) { this.data = data; this.ShowItem(this.data.data); } private ShowItem(data: MergeItem) { if (data) { this.lbt_rate.string = `${(this.data.data.rate / 100).toFixed(0)}%`; this.node.active = true; this.node_lock.active = false; this.sp_icon.node.active = true; if (data.type == E_CubeType.Emitter) { let mergePropCfg = Gamecfg.emitterInfo.getItem(data.id.toString()); this.sp_icon.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg?.icon}`); } else if (data.type == E_CubeType.Material) { let mergePropCfg = Gamecfg.mergePropInfo.getItem(data.id.toString()); this.sp_icon.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg?.icon}`); } else if (data.type == E_CubeType.MergeEquip) { let mergePropCfg = Gamecfg.equipInfo.getItem(data.id.toString()); this.sp_icon.setSpriteFrame('gridMap', `mergeEquip/${mergePropCfg?.icon}`); } } else { this.node.active = false; } } }