499 lines
15 KiB
Lua
499 lines
15 KiB
Lua
|
|
---勋章
|
|||
|
|
MedalManager = {}
|
|||
|
|
local this = MedalManager
|
|||
|
|
local MedalConfig = ConfigManager.GetConfig(ConfigName.MedalConfig)
|
|||
|
|
local MedalSuitConfig = ConfigManager.GetConfig(ConfigName.MedalSuitConfig)
|
|||
|
|
local MedalSuitType = ConfigManager.GetConfig(ConfigName.MedalSuitType)
|
|||
|
|
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|||
|
|
local Quality = {
|
|||
|
|
[3] = GetLanguageStrById(50312),
|
|||
|
|
[4] = GetLanguageStrById(50313),
|
|||
|
|
[5] = GetLanguageStrById(50314)}
|
|||
|
|
this.allMedal = {}
|
|||
|
|
local upMedalList = {}--所有英雄对应的勋章装备
|
|||
|
|
local medalSiteList--玩家背包里拥有的勋章装备
|
|||
|
|
this.randomProperty = {}--临时调教数据
|
|||
|
|
this.count = 0--洗练次数
|
|||
|
|
|
|||
|
|
function this.Initialize()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--初始化英雄数据
|
|||
|
|
function this.InitAllMedalData(_msg)
|
|||
|
|
if _msg.medal == nil then
|
|||
|
|
return
|
|||
|
|
end
|
|||
|
|
for i = 1, #_msg.medal do
|
|||
|
|
this.InitMedalData(_msg.medal[i])
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function this.InitMedalData(medalData)
|
|||
|
|
if medalData == nil then
|
|||
|
|
return
|
|||
|
|
end
|
|||
|
|
local medal = {}
|
|||
|
|
local staticId = medalData.medalId
|
|||
|
|
local MedalConfigData = MedalConfig[staticId]
|
|||
|
|
medal.id = staticId--静态id
|
|||
|
|
medal.medalConfig = MedalConfigData
|
|||
|
|
medal.suitId = MedalConfigData.Suit
|
|||
|
|
medal.idDyn = medalData.id
|
|||
|
|
medal.BasicProperty = MedalConfigData.BasicAttr
|
|||
|
|
medal.RandomProperty = medalData.myRandomProperty
|
|||
|
|
medal.refineAttrNum = medalData.refineAttrNum
|
|||
|
|
medal.icon = GetResourcePath(ItemConfig[medalData.medalId].ResourceID)
|
|||
|
|
medal.position = MedalConfigData.SiteType
|
|||
|
|
medal.itemConfig = ItemConfig[staticId]
|
|||
|
|
medal.upHeroDid = nil
|
|||
|
|
--v.itemConfig = ItemConfig[v.id]
|
|||
|
|
medal.frame = GetQuantityImageByquality(MedalConfigData.Quality)
|
|||
|
|
|
|||
|
|
this.allMedal[medal.idDyn]=medal
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--设置勋章穿戴的英雄
|
|||
|
|
function this.UpMedalData(medalid,heroDid)
|
|||
|
|
if this.allMedal[medalid] then
|
|||
|
|
this.allMedal[medalid].upHeroDid = heroDid
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
--通过site进行筛选勋章
|
|||
|
|
function this.MedalDaraBySite(site,heroId)
|
|||
|
|
local medalList = {}
|
|||
|
|
for k,v in pairs(this.allMedal)do
|
|||
|
|
if v.position == site and v.upHeroDid ~= heroId and v.upHeroDid == nil then
|
|||
|
|
table.insert(medalList,v)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
table.sort(medalList,function (a,b)
|
|||
|
|
if a.medalConfig.Quality == b.medalConfig.Quality then
|
|||
|
|
return a.medalConfig.Star > b.medalConfig.Star
|
|||
|
|
else
|
|||
|
|
return a.medalConfig.Quality > b.medalConfig.Quality
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
return medalList
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--通过勋章套装类型进行筛选勋章
|
|||
|
|
function this.MedalDaraByType(type)--0:全部 1-12 套装类型
|
|||
|
|
local medalList = {}
|
|||
|
|
if type == 0 then
|
|||
|
|
for k,v in pairs(this.allMedal)do
|
|||
|
|
--没有被装备&&可以合成
|
|||
|
|
if v.upHeroDid == nil and v.medalConfig.NextId ~= 0 then
|
|||
|
|
table.insert(medalList,v)
|
|||
|
|
table.sort(medalList,function (a,b)
|
|||
|
|
if a.medalConfig.Quality == b.medalConfig.Quality then
|
|||
|
|
if a.medalConfig.Star == b.medalConfig.Star then
|
|||
|
|
return a.id > b.id
|
|||
|
|
else
|
|||
|
|
return a.medalConfig.Star > b.medalConfig.Star
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
return a.medalConfig.Quality > b.medalConfig.Quality
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
for k,v in pairs(this.allMedal)do
|
|||
|
|
--同一套装类型&&没有被装备&&可以合成
|
|||
|
|
if MedalSuitConfig[v.suitId].Type == type and v.upHeroDid == nil and v.medalConfig.NextId ~= 0 then
|
|||
|
|
table.insert(medalList,v)
|
|||
|
|
|
|||
|
|
table.sort(medalList,function (a,b)
|
|||
|
|
if a.medalConfig.Quality == b.medalConfig.Quality then
|
|||
|
|
if a.medalConfig.Star == b.medalConfig.Star then
|
|||
|
|
return a.id > b.id
|
|||
|
|
else
|
|||
|
|
return a.medalConfig.Star > b.medalConfig.Star
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
return a.medalConfig.Quality > b.medalConfig.Quality
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
return medalList
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- 通过套装类型获取套装静态表数据
|
|||
|
|
function this.GetMedalSuitInfoByType(medalType)
|
|||
|
|
return ConfigManager.GetConfigDataByKey(ConfigName.MedalSuitType, "TypeId", medalType)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- 通过套装类型获取套装静态表数据
|
|||
|
|
function this.GetMedalSuitInfoById(suiuid)
|
|||
|
|
return ConfigManager.GetConfigDataByKey(ConfigName.MedalSuitConfig, "SuitId", suiuid)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
--某一个英雄身上的勋章
|
|||
|
|
function this.MedalDaraByHero(heroId)
|
|||
|
|
local medalList = {}
|
|||
|
|
for k,v in pairs(this.allMedal)do
|
|||
|
|
if v.upHeroDid == heroId then
|
|||
|
|
medalList[v.position] = v
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
return medalList
|
|||
|
|
end
|
|||
|
|
--卸下某一个英雄身上的所有勋章
|
|||
|
|
function this.DownMedalDaraByHero(heroId)
|
|||
|
|
for k,v in pairs(this.allMedal)do
|
|||
|
|
if v.upHeroDid == heroId then
|
|||
|
|
this.allMedal[v.idDyn].upHeroDid = nil
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
--给某一个英雄穿一组勋章
|
|||
|
|
function this.WearMedalsByHero(heroId,medalListId)
|
|||
|
|
for k,v in ipairs(medalListId)do
|
|||
|
|
this.allMedal[v].upHeroDid = heroId
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--获得某一个勋章数据
|
|||
|
|
function this.GetOneMedalData(id)
|
|||
|
|
if this.allMedal[id] then
|
|||
|
|
return this.allMedal[id]
|
|||
|
|
end
|
|||
|
|
LogRed("没有勋章"..id)
|
|||
|
|
end
|
|||
|
|
--获得某一个勋章穿戴的英雄ID
|
|||
|
|
function this.GetOneheroIdData(id,heroId)
|
|||
|
|
if this.allMedal[id] then
|
|||
|
|
if this.allMedal[id].upHeroDid and this.allMedal[id].upHeroDid~=heroId then
|
|||
|
|
return this.allMedal[id].upHeroDid
|
|||
|
|
else
|
|||
|
|
return 0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
LogRed("没有勋章"..id)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--获取全部已有勋章(不包括穿戴在英雄身上的)
|
|||
|
|
function this.GetAllMedalData()
|
|||
|
|
local ret = {}
|
|||
|
|
for k, v in pairs(this.allMedal) do
|
|||
|
|
if v.upHeroDid == nil then
|
|||
|
|
-- v.itemConfig = ItemConfig[v.id]
|
|||
|
|
v.frame = GetQuantityImageByquality(v.medalConfig.Quality)
|
|||
|
|
--v.Quality =v.medalConfig.Quality
|
|||
|
|
table.insert(ret, v)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
-- table.sort(ret, function(a, b)
|
|||
|
|
-- return a.quality > b.quality
|
|||
|
|
-- end)
|
|||
|
|
|
|||
|
|
return ret
|
|||
|
|
|
|||
|
|
-- return this.allMedal
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
--删除勋章
|
|||
|
|
function this.DeleteMedal(medalId)
|
|||
|
|
if medalId then
|
|||
|
|
this.allMedal[medalId] = nil
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
--添加勋章
|
|||
|
|
function this.AddMedal(newMedal)
|
|||
|
|
if newMedal then
|
|||
|
|
this.InitMedalData(newMedal)
|
|||
|
|
--this.allMedal[newMedal.idDyn]=newMedal
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function this.CreateEmptyTable()
|
|||
|
|
local medal = {}
|
|||
|
|
medal.id = nil
|
|||
|
|
medal.medalId = nil
|
|||
|
|
--medal.suitId = {}
|
|||
|
|
--medal.property = {}
|
|||
|
|
--medal.myRandomProperty = {}
|
|||
|
|
medal.position = nil
|
|||
|
|
medal.refineAttrNum = 0
|
|||
|
|
return medal
|
|||
|
|
|
|||
|
|
end
|
|||
|
|
--装备
|
|||
|
|
function this.WearMedal(heroid, medalId,pos, func)
|
|||
|
|
local oldWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
|
|||
|
|
local medalList = this.MedalDaraByHero(heroid)
|
|||
|
|
if medalList[pos] then
|
|||
|
|
this.UnloadMedal(heroid,pos, medalList[pos].idDyn, func)--注意:这里卸载的是已装备的勋章id
|
|||
|
|
end
|
|||
|
|
NetManager.MedalWearRequest(heroid,medalId,pos,function()
|
|||
|
|
if this.allMedal[medalId] then
|
|||
|
|
this.allMedal[medalId].upHeroDid =heroid
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
local curHeroData = HeroManager.GetSingleHeroData(heroid)
|
|||
|
|
local empty = this.CreateEmptyTable()
|
|||
|
|
empty.id = this.allMedal[medalId].idDyn
|
|||
|
|
empty.medalId = this.allMedal[medalId].id
|
|||
|
|
--empty.suitId = this.allMedal[medalId].suitId
|
|||
|
|
--empty.property = this.allMedal[medalId].BasicProperty
|
|||
|
|
empty.position = this.allMedal[medalId].position
|
|||
|
|
-- empty.refineAttrNum = 0
|
|||
|
|
|
|||
|
|
local list = {}
|
|||
|
|
for k,v in ipairs(curHeroData.medal)do
|
|||
|
|
table.insert(list,v)
|
|||
|
|
end
|
|||
|
|
table.insert(list,empty)
|
|||
|
|
|
|||
|
|
curHeroData.medal = list
|
|||
|
|
HeroManager.SetMedalHeroList(heroid,list)
|
|||
|
|
|
|||
|
|
RoleInfoPanel:UpdatePanelData()
|
|||
|
|
RefreshPower(oldWarPower)
|
|||
|
|
|
|||
|
|
if func then
|
|||
|
|
-- HeroManager.GetMedalHeroList(heroid)
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--卸下
|
|||
|
|
function this.UnloadMedal(heroid,pos, medalId, func)
|
|||
|
|
local oldWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
|
|||
|
|
NetManager.MedalUnloadRequest(heroid,pos,medalId,function()
|
|||
|
|
if this.allMedal[medalId] then
|
|||
|
|
this.allMedal[medalId].upHeroDid = nil
|
|||
|
|
end
|
|||
|
|
local curHeroData = HeroManager.GetSingleHeroData(heroid)
|
|||
|
|
for k,v in pairs(curHeroData.medal) do
|
|||
|
|
if v.id == medalId then
|
|||
|
|
--v = nil
|
|||
|
|
table.removebyvalue(curHeroData.medal,v)
|
|||
|
|
HeroManager.SetMedalHeroList(heroid,curHeroData.medal)
|
|||
|
|
break
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
RoleInfoPanel:UpdatePanelData()
|
|||
|
|
RefreshPower(oldWarPower)
|
|||
|
|
if func then
|
|||
|
|
-- HeroManager.GetMedalHeroList(heroid)
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--转化
|
|||
|
|
function this.ConversionMedal(_medalId,_confMedalId,_heroid,_site,iswear,func)
|
|||
|
|
--两种情况 从背包转化 从战车详情里面转化
|
|||
|
|
NetManager.MedalConversionRequest(_medalId,_confMedalId,_heroid,_site,function(msg)
|
|||
|
|
local ConversionAfterMedal = msg.medal
|
|||
|
|
this.AddMedal(ConversionAfterMedal)--添加勋章
|
|||
|
|
this.DeleteMedal(_medalId)--从背包删除勋章
|
|||
|
|
if iswear then
|
|||
|
|
if _site == this.allMedal[ConversionAfterMedal.id].position then
|
|||
|
|
--if this.allMedal[_medalId].position==this.allMedal[ConversionAfterMedal.id].position and iswear then
|
|||
|
|
this.allMedal[ConversionAfterMedal.id].upHeroDid = _heroid
|
|||
|
|
end
|
|||
|
|
RoleInfoPanel:UpdatePanelData()
|
|||
|
|
end
|
|||
|
|
if func then
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--调教
|
|||
|
|
function this.RefineMedal(_medalId,_lockPropertyId,func)
|
|||
|
|
NetManager.MedalRefineRequest(_medalId,_lockPropertyId,function(msg)
|
|||
|
|
this.allMedal[_medalId].refineAttrNum = this.allMedal[_medalId].refineAttrNum+1
|
|||
|
|
this.randomProperty = msg.property
|
|||
|
|
this.count = msg.refineAttrNum
|
|||
|
|
if func then
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--调教的临时数据
|
|||
|
|
function this.RefineTempPropertyMedal(_medalId,func)
|
|||
|
|
NetManager.MedalRefineTempPropertyRequest(_medalId,function(msg)
|
|||
|
|
this.randomProperty = msg.property
|
|||
|
|
this.count = msg.refineAttrNum
|
|||
|
|
if func then
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--保存调教值
|
|||
|
|
function this.SaveMedal(_medalId,func)
|
|||
|
|
NetManager.MedalRefineConfirmRequest(_medalId,function()
|
|||
|
|
this.allMedal[_medalId].RandomProperty = this.randomProperty
|
|||
|
|
-- local curHeroData = HeroManager.GetSingleHeroData(this.allMedal[_medalId].upHeroDid)
|
|||
|
|
-- for k,v in pairs(curHeroData.medal) do
|
|||
|
|
-- if v.id == _medalId then
|
|||
|
|
-- --v = nil
|
|||
|
|
-- v.myRandomProperty=this.randomProperty
|
|||
|
|
-- HeroManager.SetMedalHeroList(this.allMedal[_medalId].upHeroDid,curHeroData.medal)
|
|||
|
|
-- break
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
this.randomProperty={}
|
|||
|
|
if func then
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--合成勋章
|
|||
|
|
function this.CompoundMedal(_medalId,lockPropertyId,func)
|
|||
|
|
NetManager.MedalMergeRequest(_medalId,lockPropertyId,function(msg)
|
|||
|
|
local targetMedal = msg.medal
|
|||
|
|
|
|||
|
|
this.AddMedal(targetMedal)
|
|||
|
|
for k,v in pairs(_medalId)do
|
|||
|
|
this.DeleteMedal(v)
|
|||
|
|
end
|
|||
|
|
PopupTipPanel.ShowTipByLanguageId(23063)
|
|||
|
|
if func then
|
|||
|
|
func()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
--售出勋章
|
|||
|
|
function this.SellMedal(_medalId,func)
|
|||
|
|
NetManager.MedalSellRequest(_medalId,function(msg)
|
|||
|
|
this.DeleteMedal(_medalId)
|
|||
|
|
PopupTipPanel.ShowTipByLanguageId(23064)
|
|||
|
|
if func then
|
|||
|
|
func(msg)
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
--勋章激活状态
|
|||
|
|
function this.SuitHeroSuitActive(itemlist)
|
|||
|
|
local suit1 = 0--两件套装id
|
|||
|
|
local starNum1 = 0--两件套对应的星数
|
|||
|
|
|
|||
|
|
local suit2 = 0--四件套装id
|
|||
|
|
local starNum2 = 0--四件套对应的星数
|
|||
|
|
local suit = {}
|
|||
|
|
|
|||
|
|
local suitTypeList = {}--勋章分类List
|
|||
|
|
for k,v in pairs(itemlist) do
|
|||
|
|
if v then
|
|||
|
|
local suitId = v.medalConfig.Suit
|
|||
|
|
local suitType = MedalSuitConfig[suitId].Type
|
|||
|
|
local suitIdList = {}
|
|||
|
|
if suitTypeList[suitType] then
|
|||
|
|
table.insert(suitTypeList[suitType].id,suitId)
|
|||
|
|
suitTypeList[suitType] = {["num"] = suitTypeList[suitType].num + 1,["id"] = suitTypeList[suitType].id}
|
|||
|
|
else
|
|||
|
|
table.insert(suitIdList,suitId)
|
|||
|
|
suitTypeList[suitType] = {["num"] = 1,["id"] = suitIdList}
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
local bestNum = 0 --最大数量
|
|||
|
|
local type = 0--suit类型
|
|||
|
|
for k,v in pairs(suitTypeList) do
|
|||
|
|
--k:typeID v:num&id
|
|||
|
|
if v.num > bestNum then
|
|||
|
|
bestNum = v.num
|
|||
|
|
type = k
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if bestNum == 4 then
|
|||
|
|
local little,big = this:Star(suitTypeList,type)
|
|||
|
|
|
|||
|
|
suit1 = big
|
|||
|
|
starNum1 = 2
|
|||
|
|
|
|||
|
|
suit2 = little
|
|||
|
|
starNum2 = 4
|
|||
|
|
|
|||
|
|
table.insert(suit,{suitId = suit1,num = starNum1})
|
|||
|
|
table.insert(suit,{suitId = suit2,num = starNum2})
|
|||
|
|
|
|||
|
|
return suit
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if bestNum == 3 then
|
|||
|
|
local little,big = this:Star(suitTypeList,type)
|
|||
|
|
|
|||
|
|
suit1 = big
|
|||
|
|
starNum1 = 2
|
|||
|
|
|
|||
|
|
table.insert(suit,{suitId=suit1,num=starNum1})
|
|||
|
|
return suit
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if bestNum == 2 then
|
|||
|
|
--TODO特殊情况 第二组数据判断是两件还是四件
|
|||
|
|
if LengthOfTable(suitTypeList) == 2 and LengthOfTable(itemlist) == 4 then
|
|||
|
|
--两组两件激活
|
|||
|
|
local isEnter = false
|
|||
|
|
for k,v in pairs(suitTypeList) do
|
|||
|
|
if isEnter then
|
|||
|
|
local little,big = this:Star(suitTypeList,k)
|
|||
|
|
suit1 = little
|
|||
|
|
starNum1 = 2
|
|||
|
|
else
|
|||
|
|
local little,big = this:Star(suitTypeList,k)
|
|||
|
|
suit2 = little
|
|||
|
|
starNum2 = 2
|
|||
|
|
isEnter = true
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
end
|
|||
|
|
table.insert(suit,{suitId = suit1,num = starNum1})
|
|||
|
|
table.insert(suit,{suitId = suit2,num = starNum2})
|
|||
|
|
return suit
|
|||
|
|
else
|
|||
|
|
--一组两件激活
|
|||
|
|
local little,big = this:Star(suitTypeList,type)
|
|||
|
|
suit1 = little
|
|||
|
|
starNum1 = 2
|
|||
|
|
table.insert(suit,{suitId = suit1,num = starNum1})
|
|||
|
|
return suit
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
--四种type 两件四件均不可激活
|
|||
|
|
return suit
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function this:Star(suitTypeList,type)
|
|||
|
|
local ids = suitTypeList[type].id--同一个type的所有Id
|
|||
|
|
local idSort = {}
|
|||
|
|
for k,v in pairs(ids) do
|
|||
|
|
local suitId = v
|
|||
|
|
table.insert(idSort,suitId)
|
|||
|
|
end
|
|||
|
|
table.sort(idSort, function(a, b)
|
|||
|
|
return a < b
|
|||
|
|
end)
|
|||
|
|
return idSort[1],idSort[LengthOfTable(ids) - 1]--最小和第二大
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function this.GetQualityName(qualityId)
|
|||
|
|
return Quality[qualityId]
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
return this
|