按照上面的写法,我需要一个类似但是根据武器类型设置品质数量的方法,类型type在传入的武器waeapon.cfg.Type里
时间: 2024-03-06 18:48:39 浏览: 16
好的,根据您的要求,我为您编写了一个根据武器类型设置品质数量的方法:
```lua
-- 根据武器类型设置品质数量的方法
-- @param weapon 武器对象
-- @param isdelete 是否删除之前的武器
function C:setWeaponTypeQualityCount(weapon, isdelete)
-- 获取当前已有的武器类型与品质数量信息,如果没有则创建一个新的空表
local weaponTypeQualityCount = self:Get("weaponTypeQualityCount") or {}
-- 获取当前武器类型对应的品质数量信息
local weaponQualityCount = weaponTypeQualityCount[weapon.cfg.Type]
-- 如果当前武器类型还没有品质数量信息,则创建一个新的品质数量信息表,并将其添加到weaponTypeQualityCount中
if weaponQualityCount == nil then
weaponQualityCount = {}
weaponTypeQualityCount[weapon.cfg.Type] = weaponQualityCount
end
-- 如果isdelete为true,则将当前武器品质数量-1,否则将当前武器品质数量+1
if isdelete then
weaponQualityCount[weapon.quality] = (weaponQualityCount[weapon.quality] or 0) - 1
else
weaponQualityCount[weapon.quality] = (weaponQualityCount[weapon.quality] or 0) + 1
end
-- 将更新后的weaponTypeQualityCount表保存到self中
self:Set("weaponTypeQualityCount", weaponTypeQualityCount)
end
```
这个方法与之前的方法类似,只是将武器ID换成了武器类型,并将更新后的表保存到了 `weaponTypeQualityCount` 中。调用时只需传入武器对象和是否删除的标志即可。