function ItemTips.CreateEquipPanel(data, itemData, isWear, panelInsertIndex)
if not data or not itemData then
return
end
if SL:GetMetaValue("WINPLAYMODE") then
isWear = false
end
ResetDescParam()
ItemTips.item
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-07 14:12:04 |
👁️ 阅读: 0
在`ItemTips.CreateEquipPanel`函数中,装备TIPS的最大宽度主要通过以下方式计算和管理:
1. **初始化最大宽度变量**:
```lua
local maxWidth = 0
```
2. **在各个组件创建后更新最大宽度**:
- 装备名称:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(r_name).width)
```
- 投保信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_tb).width)
```
- 星级面板:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(starPanel).width)
```
- 绑定信息:
```lua
maxWidth = math.max(maxWidth, bindSize.width + size.width + 20)
```
- 重量信息:
```lua
maxWidth = math.max(maxWidth, weightSize.width + size.width + 20)
```
- 模式信息:
```lua
maxWidth = math.max(maxWidth, modeSize.width + size.width + 20)
```
- 刀魂信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(swordSoulTips).width)
```
- 基础属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_att_base).width)
```
- 条件限制:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_need).width)
```
- 元素属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_att_ys).width)
```
- 附加属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_att_ex).width)
```
- 宝石信息:
```lua
maxWidth = math.max(maxWidth, width)
```
- 回收信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_recycle).width)
```
- 自定义属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_custom).width)
```
- 倒计时信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_time).width)
```
- 来源信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_src).width)
```
3. **最终确定最大宽度**:
```lua
local sz = GUI:getContentSize(contentPanel)
maxWidth = math.max(maxWidth, sz.width)
```
4. **应用最大宽度到容器**:
```lua
GUI:ScrollView_setInnerContainerSize(scrollView, maxWidth, innerH)
GUI:setContentSize(scrollView, maxWidth, listH)
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
```
整个过程是通过不断比较各个组件宽度来动态确定最终的最大宽度,确保所有内容都能完整显示。
在`ItemTips.CreateEquipPanel`函数中,装备TIPS的最大宽度主要通过以下方式计算和管理:
1. **初始化最大宽度变量**:
```lua
local maxWidth = 0
```
2. **在各个组件创建后更新最大宽度**:
- 装备名称:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(r_name).width)
```
- 投保信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_tb).width)
```
- 星级面板:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(starPanel).width)
```
- 绑定信息:
```lua
maxWidth = math.max(maxWidth, bindSize.width + size.width + 20)
```
- 重量信息:
```lua
maxWidth = math.max(maxWidth, weightSize.width + size.width + 20)
```
- 模式信息:
```lua
maxWidth = math.max(maxWidth, modeSize.width + size.width + 20)
```
- 刀魂信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(swordSoulTips).width)
```
- 基础属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_att_base).width)
```
- 条件限制:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_need).width)
```
- 元素属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_att_ys).width)
```
- 附加属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_att_ex).width)
```
- 宝石信息:
```lua
maxWidth = math.max(maxWidth, width)
```
- 回收信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_recycle).width)
```
- 自定义属性:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_custom).width)
```
- 倒计时信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_time).width)
```
- 来源信息:
```lua
maxWidth = math.max(maxWidth, GUI:getContentSize(rich_src).width)
```
3. **最终确定最大宽度**:
```lua
local sz = GUI:getContentSize(contentPanel)
maxWidth = math.max(maxWidth, sz.width)
```
4. **应用最大宽度到容器**:
```lua
GUI:ScrollView_setInnerContainerSize(scrollView, maxWidth, innerH)
GUI:setContentSize(scrollView, maxWidth, listH)
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
```
整个过程是通过不断比较各个组件宽度来动态确定最终的最大宽度,确保所有内容都能完整显示。
← 返回问答库