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:55:01 |
👁️ 阅读: 0
在这个装备tips容器中,最大宽度是通过变量 `maxWidth` 来动态计算的,并在多个地方进行了更新。
关键代码位置:
1. **初始设置**:
```lua
local richWidth = _TotalWidth - 20
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(rich_att_base).width)
```
...等等
3. **最终确定**:
```lua
local sz = GUI:getContentSize(contentPanel)
maxWidth = math.max(maxWidth, sz.width)
```
4. **应用到容器**:
```lua
local bgWidth = maxWidth + 30
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
```
所以最大宽度是 `maxWidth + 30`,其中 `maxWidth` 是所有子组件(装备名称、属性描述、图标等)中内容宽度的最大值。
在这个装备tips容器中,最大宽度是通过变量 `maxWidth` 来动态计算的,并在多个地方进行了更新。
关键代码位置:
1. **初始设置**:
```lua
local richWidth = _TotalWidth - 20
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(rich_att_base).width)
```
...等等
3. **最终确定**:
```lua
local sz = GUI:getContentSize(contentPanel)
maxWidth = math.max(maxWidth, sz.width)
```
4. **应用到容器**:
```lua
local bgWidth = maxWidth + 30
GUI:setContentSize(ListBg, maxWidth + 30, listH + 20)
```
所以最大宽度是 `maxWidth + 30`,其中 `maxWidth` 是所有子组件(装备名称、属性描述、图标等)中内容宽度的最大值。
← 返回问答库