miduo_client/Assets/ManagedResources/~Lua/Modules/GoodFriend/GoodFriendManager.lua

680 lines
26 KiB
Lua

GoodFriendManager = {};
local this = GoodFriendManager
local GameSetting = ConfigManager.GetConfig(ConfigName.GameSetting)
local VipLevelConfig = ConfigManager.GetConfig(ConfigName.VipLevelConfig)
local specialConfig = ConfigManager.GetConfig(ConfigName.SpecialConfig)
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
local gameSetting = ConfigManager.GetConfig(ConfigName.GameSetting)
local skillConfig = ConfigManager.GetConfig(ConfigName.SkillConfig)
local passiveSkillConfig = ConfigManager.GetConfig(ConfigName.PassiveSkillConfig)
local equipConfig = ConfigManager.GetConfig(ConfigName.EquipConfig)
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local equipSign = ConfigManager.GetConfig(ConfigName.EquipSign)
local equipStarsConfig = ConfigManager.GetConfig(ConfigName.EquipStarsConfig)
--好友列表数据
this.friendAllData = {}
--申请好友数据
this.friendApplicationData = {}
--好友搜索推荐数据
this.friendSearchData = {}
--黑名单数据
this.blackFriendList = {}
--预览其他玩家已装备信息
this.equipDatas = {}
function this.CreateFriendData()
return {
--好友的id
id = nil,
--好友名字
name = nil,
--好友的等级
lv = nil,
--好友离线时间 0表示在线
offLineTime = nil,
--是否有友情点可以领取 0: 没有 1:有
haveReward = nil,
--是否赠送过友情点 0: 否 ,1:是
isGive = nil,
--新头像
head = nil,
--头像框
frame = nil,
--战斗力
soulVal = nil,
}
end
function this.Initialize()
--能够收取好友友情点的次数
this.MaxEnergyGet = 0
--收取好友友情点上限
this.MaxEnergy = 0
--好友上限数量
this.goodFriendLimit = 0
--黑名单上限
this.blackFriendLimit = 0
end
function this.OnRefreshEnegryData()
this.MaxEnergyGet = PrivilegeManager.GetPrivilegeRemainValue(GameSetting[1].MaxEnergyGet)
this.MaxEngery = PrivilegeManager.GetPrivilegeNumber(GameSetting[1].MaxEnergyGet)
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
CheckRedPointStatus(RedPointType.Friend_GetAllReward)
end
--跨天刷新
function this.OnRefreshDataNextDay()
this.MaxEnergyGet = PrivilegeManager.GetPrivilegeRemainValue(GameSetting[1].MaxEnergyGet)
this.MaxEngery = PrivilegeManager.GetPrivilegeNumber(GameSetting[1].MaxEnergyGet)
for i, v in pairs(this.friendAllData) do
v.isGive = 0
v.haveReward = 0
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
CheckRedPointStatus(RedPointType.Friend_GetAllReward)
end
--添加申请好友数据刷新
function this.OnFriendDataRefresh(type, msg)
if (type == 1) then
local friendData = this.CreateFriendData()
friendData.id = msg.Friends.id
friendData.name = PracticeManager.SetNameColor(msg.Friends.name,msg.Friends.practiceLevel)
friendData.lv = msg.Friends.lv
friendData.offLineTime = msg.Friends.offLineTime
friendData.haveReward = msg.Friends.haveReward
friendData.isGive = msg.Friends.isGive
friendData.head = msg.Friends.head
friendData.frame = msg.Friends.frame
friendData.soulVal = msg.Friends.soulVal
friendData.userTitle=msg.Friends.userTitle
--friendData.isHaveApplication=1
this.friendAllData[friendData.id] = friendData
Log("好友列表" .. friendData.id)
end
if (type == 3) then
local friendData = this.CreateFriendData()
friendData.id = msg.Friends.id
friendData.name = PracticeManager.SetNameColor(msg.Friends.name,msg.Friends.practiceLevel)
friendData.lv = msg.Friends.lv
friendData.offLineTime = msg.Friends.offLineTime
friendData.haveReward = msg.Friends.haveReward
friendData.isGive = msg.Friends.isGive
friendData.head = msg.Friends.head
friendData.frame = msg.Friends.frame
friendData.soulVal = msg.Friends.soulVal
friendData.userTitle=msg.Friends.userTitle
--friendData.isHaveApplication=1
this.friendApplicationData[friendData.id] = friendData
--RedPointManager.PlayerPrefsSetStr(PlayerManager.uid .. "redPointApplication",1)
end
end
--获取好友信息
function this.GetFriendInfoRequest(type, msg)
this.goodFriendLimit = tonumber(specialConfig[11].Value)
this.blackFriendLimit = tonumber(specialConfig[30].Value)
this.MaxEnergyGet = PrivilegeManager.GetPrivilegeRemainValue(GameSetting[1].MaxEnergyGet)
this.MaxEnergy = PrivilegeManager.GetPrivilegeNumber(GameSetting[1].MaxEnergyGet)
if (type == 1) then
this.friendAllData = {}
for i = 1, #msg.Friends do
local friendData = this.CreateFriendData()
friendData.id = msg.Friends[i].id
friendData.name = PracticeManager.SetNameColor(msg.Friends[i].name,msg.Friends[i].practiceLevel)--msg.Friends[i].name
friendData.lv = msg.Friends[i].lv
friendData.offLineTime = msg.Friends[i].offLineTime
friendData.haveReward = msg.Friends[i].haveReward
friendData.isGive = msg.Friends[i].isGive
friendData.head = msg.Friends[i].head
friendData.frame = msg.Friends[i].frame
friendData.soulVal = msg.Friends[i].soulVal
friendData.userTitle=msg.Friends[i].userTitle
--friendData.isHaveApplication=1
this.friendAllData[friendData.id] = friendData
Log("好友列表" .. friendData.id)
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
elseif (type == 3) then
this.friendApplicationData = {}
for i = 1, #msg.Friends do
local friendData = this.CreateFriendData()
friendData.id = msg.Friends[i].id
friendData.name = PracticeManager.SetNameColor(msg.Friends[i].name,msg.Friends[i].practiceLevel)--msg.Friends[i].name
friendData.lv = msg.Friends[i].lv
friendData.offLineTime = msg.Friends[i].offLineTime
friendData.haveReward = msg.Friends[i].haveReward
friendData.isGive = msg.Friends[i].isGive
friendData.head = msg.Friends[i].head
friendData.frame = msg.Friends[i].frame
friendData.soulVal = msg.Friends[i].soulVal
friendData.userTitle=msg.Friends[i].userTitle
--friendData.isHaveApplication=1
this.friendApplicationData[friendData.id] = friendData
--RedPointManager.PlayerPrefsSetStr(PlayerManager.uid .. "redPointApplication",1)
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendApplication, this.friendApplicationData)
elseif (type == 2) then
this.friendSearchData = {}
for i = 1, #msg.Friends do
local friendData = this.CreateFriendData()
friendData.id = msg.Friends[i].id
friendData.name = PracticeManager.SetNameColor(msg.Friends[i].name,msg.Friends[i].practiceLevel)--msg.Friends[i].name
friendData.lv = msg.Friends[i].lv
friendData.offLineTime = msg.Friends[i].offLineTime
friendData.haveReward = msg.Friends[i].haveReward
friendData.isGive = msg.Friends[i].isGive
friendData.isApplyed = msg.Friends[i].isApplyed
friendData.head = msg.Friends[i].head
friendData.frame = msg.Friends[i].frame
friendData.soulVal = msg.Friends[i].soulVal
friendData.userTitle=msg.Friends[i].userTitle
-- friendData.isHaveApplication=1s
this.friendSearchData[friendData.id] = friendData
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendSearch, false,false) --this.friendSearchData)
elseif (type == 4) then
this.blackFriendList = {}
for i = 1, #msg.Friends do
local friendData = this.CreateFriendData()
friendData.id = msg.Friends[i].id
friendData.name = PracticeManager.SetNameColor(msg.Friends[i].name,msg.Friends[i].practiceLevel)--msg.Friends[i].name
friendData.lv = msg.Friends[i].lv
friendData.offLineTime = msg.Friends[i].offLineTime
friendData.haveReward = msg.Friends[i].haveReward
friendData.isGive = msg.Friends[i].isGive
friendData.head = msg.Friends[i].head
friendData.frame = msg.Friends[i].frame
friendData.soulVal = msg.Friends[i].soulVal
friendData.userTitle=msg.Friends[i].userTitle
this.blackFriendList[friendData.id] = friendData
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnBlackFriend, this.blackFriendList)
end
end
-- 更新好友数据
function this.UpdateFriendData(id, level, name, head, frame)
if not this.friendAllData[id] then
return
end
this.friendAllData[id].lv = level
this.friendAllData[id].name = name
this.friendAllData[id].head = head
this.friendAllData[id].frame = frame
end
--刷新好友推荐
function this.RefreshRecommend(type)
NetManager.RequestGetFriendInfo(type, function()
end)
end
--申请好友请求
function this.InviteFriendRequest(inviteUids, func)
if not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GOODFRIEND) then
PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.GOODFRIEND))
return
end
NetManager.RequestInviteFriend(inviteUids, function()
if this.friendSearchData[inviteUids] then
this.friendSearchData[inviteUids].isApplyed = 1
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendSearch, false,false) --this.friendSearchData)
if func then
func()
end
end)
end
--申请为好友操作
function this.FriendInviteOperationRequest(type, friendId)
--type 1:同意 2:拒绝 3:全部同意 4: 全部拒绝
NetManager.RequestFriendInviteOperation(type, friendId, function()
if type == 1 then
this.friendAllData[friendId] = this.friendApplicationData[friendId]
this.friendApplicationData[friendId] = nil
--this.friendSearchData[friendId].isHaveApplication=2
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendApplication, this.friendApplicationData)
end
if type == 2 then
this.friendApplicationData[friendId] = nil
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendApplication, this.friendApplicationData)
end
if type == 3 then
-- 刷新好友列表和申请列表
NetManager.RequestGetFriendInfo(1)
NetManager.RequestGetFriendInfo(3)
end
end)
end
--赠送好友精力
function this.FriendGivePresentRequest(type, friendId)
--type 1:赠送一个人 2 赠送全部好友
NetManager.RequestFriendGivePresent(type, friendId, function()
PopupTipPanel.ShowTip(Language[10826])
if (type == 1) then
this.friendAllData[friendId].isGive = 1
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
end
if (type == 2) then
for i, v in pairs(this.friendAllData) do
v.isGive = 1
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
end
end)
end
--删除好友
function this.DelFriendRequest(friendId)
NetManager.RequestDelFriend(friendId, function()
PopupTipPanel.ShowTip(Language[10827])
this.friendAllData[friendId] = nil
--this.friendSearchData[friendId].isHaveApplication=1
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendDelete, friendId)
end)
end
--领取一个人和所有人的精力值
function this.FriendTakeHeartRequest(type, friendId)
NetManager.RequestFriendTakeHeart(type, friendId, function(msg)
local getNums = 0
if (type == 1) then
PrivilegeManager.RefreshPrivilegeUsedTimes(GameSetting[1].MaxEnergyGet, 1)
this.MaxEnergyGet = PrivilegeManager.GetPrivilegeRemainValue(GameSetting[1].MaxEnergyGet)
this.MaxEnergy = PrivilegeManager.GetPrivilegeNumber(GameSetting[1].MaxEnergyGet)
this.friendAllData[friendId].haveReward = 0
end
local friendIdList = msg.friendId
if (type == 2) then
for i, v in pairs(this.friendAllData) do
for n, m in pairs(friendIdList) do
if (m == i) then
v.haveReward = 0
getNums = getNums + 1
end
end
end
PrivilegeManager.RefreshPrivilegeUsedTimes(GameSetting[1].MaxEnergyGet, getNums)
this.MaxEnergyGet = PrivilegeManager.GetPrivilegeRemainValue(GameSetting[1].MaxEnergyGet)
this.MaxEnergy = PrivilegeManager.GetPrivilegeNumber(GameSetting[1].MaxEnergyGet)
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
end
local _drop = msg.drop
UIManager.OpenPanel(UIName.RewardItemPopup, _drop, 1)
Game.GlobalEvent:DispatchEvent(GameEvent.Bag.BagGold)
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
end)
end
--根据名字查找好友
function this.FriendSearchRequest(name)
NetManager.RequestFriendSearch(name, function(msg)
this.friendSearchData = {}
this.friendSearchData[msg.Friends.id] = msg.Friends
this.friendSearchData[msg.Friends.id].name = PracticeManager.SetNameColor(msg.Friends.name,msg.Friends.practiceLevel)
--.name = PracticeManager.SetNameColor(msg.Friends[i].name,msg.Friends[i].practiceLevel)--msg.Friends[i].name
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendSearch, false,false) --this.friendSearchData)
end)
end
--刷新好友在线状态
function this.RefreshFriendStateRequest()
NetManager.RequestRefreshFriendState(function(msg)
for i, v in ipairs(msg.friendIds) do
for m, n in pairs(this.friendAllData) do
if (m == v) then
n.offLineTime = "0"
end
end
end
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendList, this.friendAllData)
end)
end
-- 获取好友信息
function this.GetFriendInfo(friendId)
return this.friendAllData[friendId]
end
-- 判断是否是我的好友
function this.IsMyFriend(friendId)
for fid, _ in pairs(this.friendAllData) do
if fid == friendId then
return true
end
end
return false
end
--检测好友收取友情点红点
function this.FriendRewardRedPointShow()
local isShow = false
for i, v in pairs(this.friendAllData) do
if v.haveReward == 1 and this.MaxEnergyGet >= 1 then
isShow = true
Log("哈哈哈哈哈哈哈哈哈哈哈22")
break
end
end
return isShow
end
--检测好友申请红点
function this.FriendApplicationRedPointShow()
local isShow = false
if (table.nums(this.friendApplicationData) > 0) then
isShow = true
Log("哈哈哈哈哈哈哈哈哈哈哈")
end
return isShow
end
---=================黑名单相关====================
-- 是否在黑名单中
function this.IsInBlackList(friendId)
if not this.blackFriendList then
return false
end
if this.blackFriendList[friendId] then
return true
end
return false
end
-- 申请加入黑名单
function this.RequestAddToBlackList(uid, func)
if not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GOODFRIEND) then
PopupTipPanel.ShowTip(Language[10828])
return
end
if uid == PlayerManager.uid then
PopupTipPanel.ShowTip(Language[10829])
return
end
if this.IsInBlackList(uid) then
PopupTipPanel.ShowTip(Language[10830])
return
end
NetManager.RequestOptBlackList(1, uid, function()
if this.IsMyFriend(uid) then
this.friendAllData[uid] = nil
Game.GlobalEvent:DispatchEvent(GameEvent.Friend.OnFriendDelete, uid)
end
NetManager.RequestGetFriendInfo(1)-- 刷新好友列表
NetManager.RequestGetFriendInfo(2)-- 刷新推荐列表
NetManager.RequestGetFriendInfo(3)-- 刷新申请列表
NetManager.RequestGetFriendInfo(4, function()
if func then
func()
end
end)-- 刷新黑名单
end)
end
-- 申请移除黑名单
function this.RequestDeleteFromBlackList(uid, func)
if (table.nums(GoodFriendManager.blackFriendList) <= 0) then
PopupTipPanel.ShowTip(Language[10831])
else
local type = 0
if (uid == 0) then
type = 3
else
type = 2
end
NetManager.RequestOptBlackList(type, uid, function()
NetManager.RequestGetFriendInfo(4)-- 刷新黑名单
if func then
func()
end
end)
end
end
--刷新本地数据
function this.GetHeroDatas(_msgHeroData, force, specialEffects,guildSkill)
local heroData = {}
heroData.soulPrintList = {}
heroData.heroBackData = _msgHeroData
heroData.dynamicId = _msgHeroData.id
local _id = _msgHeroData.heroId
heroData.id = _id
heroData.star = _msgHeroData.star
heroData.lv = _msgHeroData.level
heroData.breakId = _msgHeroData.breakId
heroData.upStarId = _msgHeroData.starBreakId
--heroData.createTime=_msgHeroData.createTimelocal
heroData.lockState = _msgHeroData.lockState
local _configData = heroConfig[_id]
heroData.heroConfig = heroConfig[_id]
local actionPowerRormula = gameSetting[1].ActionPowerRormula
heroData.actionPower = force
heroData.equipIdList = _msgHeroData.equipIdList
heroData.talismanList = _msgHeroData.especialEquipLevel
heroData.jewels = _msgHeroData.jewels
if (#_msgHeroData.soulPos >= 1) then
local soulPrintList = {}
for i, v in ipairs(_msgHeroData.soulPos) do
local soulPrint = { equipId = v.equipId, position = v.position }
table.insert(soulPrintList, soulPrint)
end
heroData.soulPrintList = soulPrintList
end
heroData.skillIdList = {}
HeroManager.UpdateSkillIdList( heroData)
heroData.passiveSkillList = {}--被动技
HeroManager.UpdatePassiveHeroSkill(heroData)
--if guildSkill then
-- --LogGreen("guildSkill "..guildSkill)
--end
heroData.guildSkill = guildSkill
heroData.hp = _configData.Hp
heroData.attack = _configData.Attack
heroData.pDef = _configData.PhysicalDefence
heroData.mDef = _configData.MagicDefence
heroData.speed = _configData.Speed
heroData.allAddProVal = {}
for i, v in ConfigPairs(propertyConfig) do
heroData.allAddProVal[i] = 0
end
for i, v in pairs(specialEffects) do
if v.propertyId and v.propertyValue then
--LogGreen("v.propertyId "..v.propertyId.." "..v.propertyValue)
if propertyConfig[v.propertyId] then
if propertyConfig[v.propertyId].Style == 1 then
heroData.allAddProVal[v.propertyId] = v.propertyValue
elseif propertyConfig[v.propertyId].Style == 2 then
heroData.allAddProVal[v.propertyId] = v.propertyValue/100
end
else
heroData.allAddProVal[v.propertyId] = v.propertyValue
end
end
end
heroData.skinId = _msgHeroData.skinId
if heroData.skinId == 0 then
heroData.skinConfig = _configData
heroData.live = GetResourcePath(_configData.Live)
heroData.painting = GetResourcePath(_configData.Painting)
heroData.icon = GetResourcePath(_configData.Icon)
heroData.scale = _configData.Scale
heroData.position = _configData.Position
else
heroData.skinConfig = ConfigManager.GetConfigDataByKey(ConfigName.HeroSkin,"Type",heroData.skinId)
heroData.live = GetResourcePath(heroData.skinConfig.Live)
heroData.painting = GetResourcePath(heroData.skinConfig.Painting)
heroData.icon = GetResourcePath(heroData.skinConfig.Icon)
heroData.scale = heroData.skinConfig.Scale
heroData.position = heroData.skinConfig.Position
end
heroData.profession = _configData.Profession
heroData.ProfessionResourceId = _configData.ProfessionResourceId
if GetJobSpriteStrByJobNum(_configData.Profession) then
heroData.professionIcon = GetJobSpriteStrByJobNum(_configData.Profession)
else
heroData.professionIcon = GetJobSpriteStrByJobNum(1)
end
heroData.name = GetLanguageStrById(_configData.ReadingName)
heroData.property = _configData.PropertyName
return heroData
end
--初始化装备数据
function this.InitEquipData(_msgEquipList, heroData)
for i = 1, #_msgEquipList do
this.InitUpdateEquipData(_msgEquipList[i], heroData)
end
end
function this.InitUpdateEquipData(_equipData, heroData)
local equipdata = {}
if(heroData.soulPrintList) then
for i, v in pairs(heroData.soulPrintList) do
if (v.did == _equipData.id) then
equipdata.icon = GetResourcePath(itemConfig[_equipData.equipId].ResourceID)
equipdata.Quality = this.GetSoulPrintQuality(_equipData.equipId, _equipData.exp)
equipdata.id = _equipData.equipId
this.equipDatas[_equipData.id] = equipdata
end
end
end
if(heroData.equipIdList) then
for i, v in pairs(heroData.equipIdList) do
if (tonumber(v) == _equipData.equipId) then
equipdata.equipConfig = equipConfig[_equipData.equipId]
if equipdata.equipConfig ~= nil then
equipdata.itemConfig = itemConfig[_equipData.equipId]
equipdata.did = _equipData.equipId
equipdata.id = equipdata.equipConfig.Id
if itemConfig[equipdata.id] then
equipdata.icon = GetResourcePath(itemConfig[equipdata.id].ResourceID)
else
Log("装备表找不到此id " .. equipdata.id)
return
end
equipdata.frame = GetQuantityImageByquality(equipdata.equipConfig.Quality)--ItemQuality[equipdata.equipConfig.Quality].icon
equipdata.num = 1
equipdata.position = equipdata.equipConfig.Position
local propList = {}
for index, prop in ipairs(equipdata.equipConfig.Property) do
propList[index] = {}
propList[index].propertyId = prop[1]
propList[index].propertyValue = prop[2]
propList[index].PropertyConfig = propertyConfig[prop[1]]
end
equipdata.mainAttribute = propList
equipdata.star = equipStarsConfig[equipdata.equipConfig.Star].Stars
equipdata.backData = _equipData
this.equipDatas[_equipData.equipId] = equipdata
end
end
end
end
if(heroData.talismanList) then
--for i, v in pairs(heroData.talismanList) do
-- if (v == _equipData.id) then
-- equipdata.icon = GetResourcePath(itemConfig[_equipData.equipId].ResourceID)
-- equipdata.id = _equipData.equipId
-- equipdata.star = _equipData.rebuildLevel
-- this.equipDatas[_equipData.id] = equipdata
-- end
--end
end
--宝器
if(heroData.jewels) then
for i = 1, #heroData.jewels do
if heroData.jewels[i] and heroData.jewels[i] == _equipData.id then
this.InitSingleTreasureData(_equipData)
end
end
end
end
--宝器
local jewelConfig = ConfigManager.GetConfig(ConfigName.JewelConfig)
local allTreasures = {}
--初始化单个宝物的数据
function this.InitSingleTreasureData(_singleData)
if _singleData==nil then
return
end
local single={}
local staticId=_singleData.equipId
local currJewel=jewelConfig[staticId]
single.id=staticId
single.idDyn=_singleData.id
single.lv=_singleData.exp
single.refineLv=_singleData.rebuildLevel
single.maxLv=currJewel.Max[1]
single.maxRefineLv=currJewel.Max[2]
single.upHeroDid=""
local quantity=currJewel.Level
single.quantity=quantity
single.frame=GetQuantityImageByquality(quantity)
single.name=GetLanguageStrById(itemConfig[staticId].Name)
single.itemConfig=itemConfig[staticId]
single.levelPool=currJewel.LevelupPool
single.proIcon=GetProStrImageByProNum(currJewel.Race)
single.refinePool=currJewel.RankupPool
single.equipType=currJewel.Location
if currJewel.Location==1 then
single.type=Language[10552]
else
single.type=Language[10553]
end
single.icon=GetResourcePath(itemConfig[staticId].ResourceID)
single.strongConfig=this.GetCurrTreasureLvConfig(1,currJewel.LevelupPool,_singleData.exp)
single.refineConfig=this.GetCurrTreasureLvConfig(2,currJewel.RankupPool,_singleData.rebuildLevel)
--LogGreen("天宫推送宝器 _singleData.id ".._singleData.id)
allTreasures[_singleData.id]=single
end
local jewerLevelUpConfig = ConfigManager.GetConfig(ConfigName.JewelRankupConfig)
--获取当前宝物升级数据
function this.GetCurrTreasureLvConfig(_type,_id,_lv)
for _, configInfo in ConfigPairs(jewerLevelUpConfig) do
if configInfo.Type==_type and configInfo.PoolID==_id and configInfo.Level==_lv then
return configInfo
end
end
end
--根据动态id获取宝物
function this.GetSingleTreasureByIdDyn(_idDyn)
if allTreasures==nil then
return
end
return allTreasures[_idDyn]
end
--获取单个装备数据
function this.GetSingleEquipData(_equipid)
_equipid = tonumber(_equipid)
if this.equipDatas[_equipid] then
return this.equipDatas[_equipid]
end
end
--得到魂印品质
function this.GetSoulPrintQuality(equipId, exp)
SoulPrintManager.UpSoulPrintLevel(equipId, exp)
for m, n in ConfigPairs(equipSign) do
if (n.Id == SoulPrintManager.GetSoulPrintId(equipId, SoulPrintManager.soulPrintLevel[equipId])) then
return n.Quality
end
end
end
return this