`SL:CheckItemUseNeed(itemData)` 用于检查指定道具是否满足穿戴或使用的条件。
**函数原型:**
```lua
local result = SL:CheckItemUseNeed(itemData)
```
**参数说明:**
- `itemData`:道具数据表(通常是背包或装备数据)
**返回值:**
返回一个包含检查结果的table,其中:
- `result.canUse`:布尔值,表示当前是否可以使用/穿戴(true为满足条件)
- `result.conditionStr`:条件描述字符串列表,包含具体的条件信息
**使用示例:**
```lua
-- 获取道具数据
local itemData = SL:GetMetaValue("ITEM_DATA", itemIndex)
-- 检查使用条件
local checkResult = SL:CheckItemUseNeed(itemData)
if checkResult.canUse then
SL:Print("道具可以使用!")
else
-- 显示不满足的条件
if checkResult.conditionStr then
for _, condition in ipairs(checkResult.conditionStr) do
if not condition.can then
SL:Print("不满足条件:" .. condition.str)
end
end
end
end
```
**实际应用场景:**
1. **装备穿戴前检查:**
```lua
local equipData = SL:GetMetaValue("EQUIP_DATA", equipPos)
local canEquip = SL:CheckItemUseNeed(equipData).canUse
if canEquip then
-- 执行穿戴操作
end
```
2. **道具使用条件显示:**
```lua
local strList = SL:CheckItemUseNeed(itemData).conditionStr
if strList and next(strList) then
local displayStr = ""
for i, v in ipairs(strList) do
local color = v.can and "#ffffff" or "#ff0000"
displayStr = displayStr .. string.format("<font color='%s'>%s</font>", color, v.str)
end
-- 在UI中显示displayStr
end
```
**注意事项:**
- 该函数检查的是角色当前状态是否满足道具使用条件(如等级、职业、性别等)
- 对于英雄装备,需要使用`SL:CheckItemUseNeed_Hero(itemData)`进行单独检查
- 返回的conditionStr中每个条件都包含`can`(是否满足)和`str`(条件描述)字段
这个函数在背包、装备栏、道具Tips等模块中广泛使用,用于控制道具的可用状态和条件提示显示。