--extData参数
--extData.hideTip 是否隐藏默认的Tip
--extData.itemTipData table类型,对应ItemTips.ShowTip传入的参数
--extData.clickCallback 单击事件回调
--extData.doubleClickCallback 双击事件回调
--extData.countFontColor 数量字体颜色
--extData.CountOutlineColor 数量字体描边
--extData.bgVisible
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-03-24 21:10:32 |
👁️ 阅读: 5
这三个函数是用于在游戏UI中创建、管理和释放道具/装备显示组件的工具函数。
**ItemUtil:ItemShow_Create(itemData, parent, extData)**
- 作用:根据物品数据创建对应的显示组件(装备或普通道具)
- 流程:
1. 判断物品是否为装备(通过SL:GetValue("BAG_ITEM_IS_EQUIP"))
2. 根据设备操作模式确定资源包名称(PC模式用"public_pc",否则用"public")
3. 从对象池获取对应组件(装备用"CommonEquip",道具用"CommonItem")
4. 初始化组件,并设置与父容器相同的大小
5. 调用item:UpdateUIByData()更新UI显示
6. 返回创建好的item对象
**ItemUtil:ItemShow_CreateEX(extData, parent)**
- 作用:通过itemID创建道具显示组件(扩展版本)
- 流程:
1. 从extData中获取ID,通过SL:GetValue("ITEM_DATA")获取物品数据
2. 后续流程与ItemShow_Create基本相同
3. 区别在于参数传递方式,这里直接从extData中获取ID来查询物品数据
**ItemUtil:ItemShow_Release(item)**
- 作用:释放道具显示组件,将其回收到对象池
- 流程:
1. 检查item是否存在
2. 调用item:Clean()清理组件数据
3. 根据设备操作模式确定资源包名称
4. 调用Pool.Release()将组件回收到对象池
extData参数用于配置组件行为,包括:
- hideTip:是否隐藏默认的Tooltip提示
- itemTipData:传递给ItemTips.ShowTip的参数
- clickCallback/doubleClickCallback:单击/双击事件回调函数
- countFontColor/CountOutlineColor:数量字体颜色和描边
- bgVisible:是否显示背景
- OverLap:道具数量显示
这些函数实现了道具UI组件的统一创建、配置和回收管理,提高了资源利用效率。
← 返回问答库