702 lines
No EOL
21 KiB
Lua
702 lines
No EOL
21 KiB
Lua
XBaseEquipManagerCreator = function()
|
|
|
|
local pairs = pairs
|
|
|
|
local table = table
|
|
local tableInsert = table.insert
|
|
local tableSort = table.sort
|
|
local string = string
|
|
local stringFormat = string.format
|
|
|
|
local XBaseEquipManager = {}
|
|
|
|
|
|
local METHOD_NAME = {
|
|
Evaluate = "BaseEquipEvaluateRequest",
|
|
PutOn = "BaseEquipPutOnRequest",
|
|
Recycle = "BaseEquipRecycleRequest"
|
|
}
|
|
|
|
XBaseEquipManager.XATTRIB_CHANGE = {
|
|
NoChange = 0,
|
|
Up = 1,
|
|
Down = 2
|
|
}
|
|
|
|
local BaseEquipTemplates = {} -- 基地装备配置
|
|
|
|
local BaseEquipDatas = {} -- 基地装备数据
|
|
local BaseEquipInfo = {} -- 已装备的基地装备信息
|
|
local EvaluatedAttribInfoDict = {} -- 基地装备属性信息
|
|
|
|
function XBaseEquipManager.Init()
|
|
BaseEquipTemplates = XBaseEquipConfigs.GetBaseEquipTemplates()
|
|
end
|
|
|
|
function XBaseEquipManager.IsBaseEquipEvaluated(baseEquip)
|
|
return baseEquip.AttribGroupIdList and #baseEquip.AttribGroupIdList > 0
|
|
end
|
|
|
|
function XBaseEquipManager.IsBaseEquipPutOn(baseEquipId)
|
|
for _, id in pairs(BaseEquipInfo) do
|
|
if id == baseEquipId then
|
|
return true
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
local function PutOnBaseEquip(part, baseEquipId)
|
|
BaseEquipInfo[part] = baseEquipId
|
|
end
|
|
|
|
local function DeleteBaseEquips(idList)
|
|
for _, id in pairs(idList) do
|
|
BaseEquipDatas[id] = nil
|
|
end
|
|
end
|
|
|
|
local function GetAttribInfo(groupId)
|
|
local template = XAttribManager.TryGetAttribGroupTemplate(groupId)
|
|
if not template then
|
|
return
|
|
end
|
|
|
|
local numericalList = {}
|
|
if template.AttribId > 0 then
|
|
local attrib = XAttribManager.GetBaseAttribs(template.AttribId)
|
|
for k, v in pairs(attrib) do
|
|
if k ~= "Id" and v > fix.zero then
|
|
tableInsert(numericalList, {
|
|
Name = XAttribManager.GetAttribNameByIndex(k),
|
|
Key = k,
|
|
Value = v
|
|
})
|
|
end
|
|
end
|
|
end
|
|
|
|
local growRateList = {}
|
|
if template.AttribGrowRateId > 0 then
|
|
local attrib = XAttribManager.GetGrowRateAttribs(template.AttribGrowRateId)
|
|
for k, v in pairs(attrib) do
|
|
if k ~= "Id" and v > fix.zero then
|
|
tableInsert(growRateList, {
|
|
Name = XAttribManager.GetAttribNameByIndex(k),
|
|
Key = k,
|
|
Value = v
|
|
})
|
|
end
|
|
end
|
|
end
|
|
|
|
return numericalList, growRateList
|
|
end
|
|
|
|
local function GetMaxAttribDesc(groupId)
|
|
local template = XAttribManager.TryGetAttribGroupTemplate(groupId)
|
|
if not template then
|
|
return
|
|
end
|
|
|
|
return template.MaxAttribDesc
|
|
end
|
|
|
|
local function AddEvaluatedAttribInfo(baseEquipData)
|
|
if not baseEquipData then
|
|
return
|
|
end
|
|
|
|
local attribPoolIdList = baseEquipData.AttribGroupIdList
|
|
if not attribPoolIdList or #attribPoolIdList <= 0 then
|
|
return
|
|
end
|
|
|
|
local numericalList = {}
|
|
local growRateList = {}
|
|
|
|
for _, id in pairs(attribPoolIdList) do
|
|
local list1, list2 = GetAttribInfo(id)
|
|
|
|
for _, info in pairs(list1) do
|
|
tableInsert(numericalList, info)
|
|
end
|
|
|
|
for _, info in pairs(list2) do
|
|
tableInsert(growRateList, info)
|
|
end
|
|
end
|
|
|
|
EvaluatedAttribInfoDict[baseEquipData.Id] = {
|
|
NumericalList = numericalList,
|
|
GrowRateList = growRateList,
|
|
}
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipTemplate(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipTemplate",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template
|
|
end
|
|
|
|
local function SortBaseEquipFunc(a, b)
|
|
local isEvaluated1 = XBaseEquipManager.IsBaseEquipEvaluated(a)
|
|
local isEvaluated2 = XBaseEquipManager.IsBaseEquipEvaluated(b)
|
|
|
|
if isEvaluated1 ~= isEvaluated2 then
|
|
return isEvaluated2
|
|
end
|
|
|
|
local template1 = XBaseEquipManager.GetBaseEquipTemplate(a.TemplateId)
|
|
local template2 = XBaseEquipManager.GetBaseEquipTemplate(b.TemplateId)
|
|
|
|
if template1.Star ~= template2.Star then
|
|
return template1.Star > template2.Star
|
|
end
|
|
|
|
if template1.Quality ~= template2.Quality then
|
|
return template1.Quality > template2.Quality
|
|
end
|
|
|
|
return template1.Priority > template2.Priority
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipListByPart(part)
|
|
part = part and part or 0
|
|
local list = {}
|
|
for _, baseEquip in pairs(BaseEquipDatas) do
|
|
local template = XBaseEquipManager.GetBaseEquipTemplate(baseEquip.TemplateId)
|
|
if template.Part == part or part == 0 then
|
|
tableInsert(list, baseEquip)
|
|
end
|
|
end
|
|
|
|
tableSort(list, SortBaseEquipFunc)
|
|
|
|
return list
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipNotPutOnListByPart(part)
|
|
part = part and part or 0
|
|
local list = {}
|
|
for _, baseEquip in pairs(BaseEquipDatas) do
|
|
if not XBaseEquipManager.IsBaseEquipPutOn(baseEquip.Id) then
|
|
local template = XBaseEquipManager.GetBaseEquipTemplate(baseEquip.TemplateId)
|
|
if template.Part == part or part == 0 then
|
|
tableInsert(list, baseEquip)
|
|
end
|
|
end
|
|
end
|
|
|
|
tableSort(list, SortBaseEquipFunc)
|
|
|
|
return list
|
|
end
|
|
|
|
--==============================--
|
|
--desc: 获取属性信息
|
|
--@id: 基地装备id
|
|
--@return 属性信息
|
|
--==============================--
|
|
function XBaseEquipManager:GetEvaluatedAttribInfo(id)
|
|
return EvaluatedAttribInfoDict[id]
|
|
end
|
|
|
|
--==============================--
|
|
--desc: 获取属性展示信息
|
|
--@pooId: 基地装备id
|
|
--@return 属性展示信息
|
|
--==============================--
|
|
function XBaseEquipManager.GetEvaluatedAttribShowInfo(id)
|
|
local info = EvaluatedAttribInfoDict[id]
|
|
if not info then
|
|
return
|
|
end
|
|
|
|
local attriDescList = {}
|
|
if info.NumericalList and #info.NumericalList > 0 then
|
|
for _, v in pairs(info.NumericalList) do
|
|
tableInsert(attriDescList, {
|
|
Name = v.Name,
|
|
Key = v.Key,
|
|
Value = "+" .. FixToInt(v.Value)
|
|
})
|
|
end
|
|
end
|
|
|
|
if info.GrowRateList and #info.GrowRateList > 0 then
|
|
for _, v in pairs(info.GrowRateList) do
|
|
tableInsert(attriDescList, {
|
|
Name = v.Name,
|
|
Key = v.Key,
|
|
Value = "+" .. stringFormat("%.2f", (v.Value * fix.hundred):ToString()) .. "%"
|
|
})
|
|
end
|
|
end
|
|
|
|
return {
|
|
AttriDescList = attriDescList,
|
|
}
|
|
end
|
|
|
|
function XBaseEquipManager.GetEvaluatedMaxAttribShowInfo(id)
|
|
local data = BaseEquipDatas[id]
|
|
if not data then
|
|
return
|
|
end
|
|
|
|
local maxAttribDescList = {}
|
|
for _, pooId in pairs(data.AttribGroupIdList) do
|
|
tableInsert(maxAttribDescList, GetMaxAttribDesc(pooId))
|
|
end
|
|
|
|
return maxAttribDescList
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipPart(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipPart",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.Part
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipName(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipName",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.Name
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipQuality(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipQuality",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.Quality
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipIcon(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipIcon",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.Icon
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipBigIcon(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipBigIcon",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.BigIcon
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipDesc(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipDesc",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.Description
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipNotEvaluatedDesc(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipNotEvaluatedDesc",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.NotEvaluatedDesc
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipRecoveryRewardId(templateId)
|
|
local template = BaseEquipTemplates[templateId]
|
|
if not template then
|
|
XLog.ErrorTableDataNotFound("XBaseEquipManager.GetBaseEquipRecoveryRewardId",
|
|
"template", "Share/BaseEquip/BaseEquip.tab", "templateId", tostring(templateId))
|
|
return
|
|
end
|
|
|
|
return template.RecoveryRewardId
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipRecoveryRewardList(templateIdList)
|
|
if not templateIdList or #templateIdList <= 0 then
|
|
return
|
|
end
|
|
|
|
local rewardGoodsList = {}
|
|
for _, templateId in pairs(templateIdList) do
|
|
local rewardId = XBaseEquipManager.GetBaseEquipRecoveryRewardId(templateId)
|
|
if rewardId then
|
|
local rewardList = XRewardManager.GetRewardList(rewardId)
|
|
for _, reward in pairs(rewardList) do
|
|
tableInsert(rewardGoodsList, reward)
|
|
end
|
|
end
|
|
end
|
|
|
|
return XRewardManager.MergeAndSortRewardGoodsList(rewardGoodsList)
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipStar(templateId)
|
|
local template = XBaseEquipManager.GetBaseEquipTemplate(templateId)
|
|
return template.Star
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipInfo()
|
|
local baseEquipDict = {}
|
|
for k, v in pairs(BaseEquipInfo) do
|
|
local baseEquip = BaseEquipDatas[v]
|
|
baseEquipDict[k] = baseEquip
|
|
end
|
|
return baseEquipDict
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipById(id)
|
|
return BaseEquipDatas[id]
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipByPart(part)
|
|
local id = BaseEquipInfo[part]
|
|
if not id then
|
|
return
|
|
end
|
|
|
|
return BaseEquipDatas[id]
|
|
end
|
|
|
|
--==============================--
|
|
--desc: 比较属性变化
|
|
--@newId: 基地装备Id
|
|
--@oldId: 基地装备Id
|
|
--@return 比较结果
|
|
--==============================--
|
|
function XBaseEquipManager.CompareAttrib(newId, oldId)
|
|
if not newId then
|
|
return
|
|
end
|
|
|
|
local newInfo = XBaseEquipManager:GetEvaluatedAttribInfo(newId)
|
|
local oldInfo
|
|
|
|
if oldId then
|
|
oldInfo = XBaseEquipManager:GetEvaluatedAttribInfo(oldId)
|
|
end
|
|
|
|
local resultList = {}
|
|
|
|
local compareFunc = function(curInfo, infoList)
|
|
local result = XBaseEquipManager.XATTRIB_CHANGE.Up
|
|
|
|
if not infoList or #infoList <= 0 then
|
|
return result
|
|
end
|
|
|
|
for _, info in pairs(infoList) do
|
|
if info.Key == curInfo.Key then
|
|
if info.Value > curInfo.Value then
|
|
result = XBaseEquipManager.XATTRIB_CHANGE.Down
|
|
elseif info.Value < curInfo.Value then
|
|
result = XBaseEquipManager.XATTRIB_CHANGE.Up
|
|
else
|
|
result = XBaseEquipManager.XATTRIB_CHANGE.NoChange
|
|
end
|
|
break
|
|
end
|
|
end
|
|
|
|
return result
|
|
end
|
|
|
|
if newInfo.NumericalList and #newInfo.NumericalList > 0 then
|
|
for _, info in pairs(newInfo.NumericalList) do
|
|
tableInsert(resultList, compareFunc(info, oldInfo and oldInfo.NumericalList or nil))
|
|
end
|
|
end
|
|
|
|
if newInfo.GrowRateList and #newInfo.GrowRateList > 0 then
|
|
for _, info in pairs(newInfo.GrowRateList) do
|
|
tableInsert(resultList, compareFunc(info, oldInfo and oldInfo.GrowRateList or nil))
|
|
end
|
|
end
|
|
|
|
return resultList
|
|
end
|
|
|
|
function XBaseEquipManager.HasBaseEquipUnEvaluated()
|
|
for _, baseEquip in pairs(BaseEquipDatas) do
|
|
if not XBaseEquipManager.IsBaseEquipEvaluated(baseEquip) then
|
|
return true
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
function XBaseEquipManager.GetBaseEquipCount(templateId)
|
|
local count = 0
|
|
for _, baseEquip in pairs(BaseEquipDatas) do
|
|
if baseEquip.TemplateId == templateId then
|
|
count = count + 1
|
|
end
|
|
end
|
|
return count
|
|
end
|
|
|
|
function XBaseEquipManager.GetAttribGroupIdListByType(type)
|
|
local groupIdList = {}
|
|
|
|
for _, id in pairs(BaseEquipInfo) do
|
|
local baseEquip = BaseEquipDatas[id]
|
|
if baseEquip then
|
|
local template = XBaseEquipManager.GetBaseEquipTemplate(baseEquip.TemplateId)
|
|
if template and template.Type == type then
|
|
for _, groupId in pairs(baseEquip.AttribGroupIdList) do
|
|
tableInsert(groupIdList, groupId)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
return groupIdList
|
|
end
|
|
|
|
----------------------服务端协议begin----------------------
|
|
function XBaseEquipManager.Evaluate(id, cb)
|
|
local baseEquipData = BaseEquipDatas[id]
|
|
if not baseEquipData then
|
|
XUiManager.TipCode(XCode.BaseEquipNotFound)
|
|
return
|
|
end
|
|
|
|
if XBaseEquipManager.IsBaseEquipEvaluated(baseEquipData) then
|
|
XUiManager.TipCode(XCode.BaseEquipEvaluated)
|
|
return
|
|
end
|
|
|
|
XNetwork.Call(METHOD_NAME.Evaluate, { Id = id }, function(res)
|
|
if res.Code ~= XCode.Success then
|
|
XUiManager.TipCode(res.Code)
|
|
return
|
|
end
|
|
|
|
if cb then
|
|
cb(BaseEquipDatas[id])
|
|
end
|
|
end)
|
|
end
|
|
|
|
function XBaseEquipManager.PutOn(id, cb)
|
|
local baseEquipData = BaseEquipDatas[id]
|
|
if not baseEquipData then
|
|
XUiManager.TipCode(XCode.BaseEquipNotFound)
|
|
return
|
|
end
|
|
|
|
local template = BaseEquipTemplates[baseEquipData.TemplateId]
|
|
if not template then
|
|
XUiManager.TipCode(XCode.BaseEquipTemplateNoFound)
|
|
return
|
|
end
|
|
|
|
|
|
if XBaseEquipManager.IsBaseEquipPutOn(id) then
|
|
XUiManager.TipCode(XCode.BaseEquipWasPutOn)
|
|
return
|
|
end
|
|
|
|
XNetwork.Call(METHOD_NAME.PutOn, { Id = id }, function(res)
|
|
if res.Code ~= XCode.Success then
|
|
XUiManager.TipCode(res.Code)
|
|
return
|
|
end
|
|
|
|
PutOnBaseEquip(template.Part, id)
|
|
|
|
if cb then
|
|
cb()
|
|
end
|
|
|
|
XEventManager.DispatchEvent(XEventId.EVENT_BASE_EQUIP_DATA_CHANGE_NOTIFY, id)
|
|
end)
|
|
end
|
|
|
|
-- 本地管理的红点 -> 移除
|
|
function XBaseEquipManager.DeleteNewHint(id)
|
|
local key = XPrefs.BaseEquip .. tostring(XPlayer.Id) .. id
|
|
if CS.UnityEngine.PlayerPrefs.HasKey(key) then
|
|
CS.UnityEngine.PlayerPrefs.DeleteKey(key)
|
|
end
|
|
end
|
|
|
|
-- 本地管理的红点 -> 增加Id 表示此红点不再出现!
|
|
function XBaseEquipManager.AddNewHint(id)
|
|
local key = XPrefs.BaseEquip .. tostring(XPlayer.Id) .. id
|
|
if not CS.UnityEngine.PlayerPrefs.HasKey(key) then
|
|
CS.UnityEngine.PlayerPrefs.SetString(key, key)
|
|
end
|
|
end
|
|
|
|
-- 本地管理的红点 -> 检查是否需要显示红点
|
|
-- 如果本地有存储 说明不需要显示
|
|
function XBaseEquipManager.CheckNewHint(id)
|
|
local key = XPrefs.BaseEquip .. tostring(XPlayer.Id) .. id
|
|
return not CS.UnityEngine.PlayerPrefs.HasKey(key)
|
|
end
|
|
|
|
function XBaseEquipManager.CheckNewHintByPart(part)
|
|
local isNew = false
|
|
local baseEquipList = XBaseEquipManager.GetBaseEquipListByPart(part)
|
|
for _, baseEquip in pairs(baseEquipList) do
|
|
local key = XPrefs.BaseEquip .. tostring(XPlayer.Id) .. baseEquip.Id
|
|
if not CS.UnityEngine.PlayerPrefs.HasKey(key) then
|
|
isNew = true
|
|
end
|
|
end
|
|
return isNew
|
|
end
|
|
|
|
function XBaseEquipManager.CheckBaseEquipHint()
|
|
local isNew = false
|
|
for part = 1, 6 do
|
|
if XBaseEquipManager.CheckNewHintByPart(part) then
|
|
isNew = true
|
|
break
|
|
end
|
|
end
|
|
return isNew
|
|
end
|
|
|
|
function XBaseEquipManager.Recycle(idList, cb)
|
|
if #idList == 0 then
|
|
XUiManager.TipText("BaseEquipRecycleNotSelected")
|
|
return
|
|
end
|
|
local highQuality = false
|
|
|
|
for _, id in pairs(idList) do
|
|
local data = BaseEquipDatas[id]
|
|
if not data then
|
|
XUiManager.TipCode(XCode.BaseEquipNotFound)
|
|
return
|
|
end
|
|
|
|
if XBaseEquipManager.IsBaseEquipPutOn(id) then
|
|
XUiManager.TipCode(XCode.BaseEquipWasPutOn)
|
|
return
|
|
end
|
|
|
|
XBaseEquipManager.DeleteNewHint(id)
|
|
|
|
local quality = XBaseEquipManager.GetBaseEquipQuality(data.TemplateId)
|
|
|
|
if quality >= XGoodsCommonManager.QualityType.Gold then
|
|
highQuality = true
|
|
end
|
|
end
|
|
|
|
local requestFunc = function()
|
|
XNetwork.Call(METHOD_NAME.Recycle, { IdList = idList }, function(res)
|
|
if res.Code ~= XCode.Success then
|
|
XUiManager.TipCode(res.Code)
|
|
return
|
|
end
|
|
|
|
if res.RewardGoodsList and #res.RewardGoodsList > 0 then
|
|
XUiManager.OpenUiObtain(res.RewardGoodsList)
|
|
end
|
|
|
|
DeleteBaseEquips(idList)
|
|
|
|
if cb then
|
|
cb()
|
|
end
|
|
end)
|
|
end
|
|
|
|
if highQuality then
|
|
XUiManager.DialogTip("", CS.XTextManager.GetText("DecomposeConfirmTip"), XUiManager.DialogType.Normal, nil, requestFunc)
|
|
return
|
|
end
|
|
|
|
requestFunc()
|
|
end
|
|
|
|
local function UpdateBaseEquipDatas(baseEquipList)
|
|
if not baseEquipList or #baseEquipList <= 0 then
|
|
return
|
|
end
|
|
|
|
for _, baseEquip in pairs(baseEquipList) do
|
|
BaseEquipDatas[baseEquip.Id] = baseEquip
|
|
AddEvaluatedAttribInfo(baseEquip)
|
|
end
|
|
|
|
XEventManager.DispatchEvent(XEventId.EVENT_BASE_EQUIP_DATA_REFRESH)
|
|
end
|
|
|
|
function XBaseEquipManager.NotifyBaseEquipDataList(data)
|
|
if not data then return end
|
|
UpdateBaseEquipDatas(data.BaseEquipDataList)
|
|
end
|
|
|
|
function XBaseEquipManager.NotifyBaseEquipInfo(data)
|
|
if not data then return end
|
|
BaseEquipInfo = data.BaseEquipInfo
|
|
end
|
|
|
|
local function UpdateBaseEquipInfo(dressedList)
|
|
if not dressedList or #dressedList <= 0 then
|
|
return
|
|
end
|
|
|
|
for _, info in pairs(dressedList) do
|
|
BaseEquipInfo[info.Part] = info.BaseEquipId
|
|
end
|
|
end
|
|
|
|
----------------------服务端协议end----------------------
|
|
function XBaseEquipManager.InitLoginData(data)
|
|
if not data then
|
|
return
|
|
end
|
|
|
|
UpdateBaseEquipDatas(data.BaseEquipList)
|
|
UpdateBaseEquipInfo(data.DressedList)
|
|
end
|
|
|
|
XBaseEquipManager.Init()
|
|
return XBaseEquipManager
|
|
end
|
|
|
|
XRpc.NotifyBaseEquipDataList = function(data)
|
|
XDataCenter.BaseEquipManager.NotifyBaseEquipDataList(data)
|
|
end |