xiyou_sanguo
parent
ec85b9b370
commit
b0da2698bd
|
|
@ -7,26 +7,26 @@ local equipConfig = ConfigManager.GetConfig(ConfigName.EquipConfig)
|
|||
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
||||
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
|
||||
local equipSignSetting = ConfigManager.GetConfig(ConfigName.EquipSignSetting)
|
||||
--循环布局容器
|
||||
-- 循环布局容器
|
||||
local loopList = {}
|
||||
--最大槽位数量
|
||||
-- 最大槽位数量
|
||||
local loopCount = 0
|
||||
--可装备槽位数量
|
||||
-- 可装备槽位数量
|
||||
local didLen = 0
|
||||
--动态最大等级
|
||||
-- 动态最大等级
|
||||
local didLv = 0
|
||||
--配置最大等级
|
||||
-- 配置最大等级
|
||||
local maxLv = 0
|
||||
--间隔角度
|
||||
-- 间隔角度
|
||||
local angle = 0
|
||||
--半径
|
||||
-- 半径
|
||||
local radius = 285
|
||||
|
||||
local curHeroData --当前英雄信息
|
||||
local heroDatas --全部英雄数据
|
||||
local index = 0 --当前索引
|
||||
local curHeroData -- 当前英雄信息
|
||||
local heroDatas -- 全部英雄数据
|
||||
local index = 0 -- 当前索引
|
||||
|
||||
local isShow = true --默认显示装备中的魂印
|
||||
local isShow = true -- 默认显示装备中的魂印
|
||||
local _specialData = {}
|
||||
local isUpZhen = false
|
||||
local list = {}
|
||||
|
|
@ -35,33 +35,35 @@ local isPlayAnim = true
|
|||
local isFristOpenTime
|
||||
function GodPrintPanel:InitComponent()
|
||||
this.spLoader = SpriteLoader.New()
|
||||
this.upView = SubUIManager.Open(SubUIConfig.UpView, this.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
|
||||
this.upView = SubUIManager.Open(SubUIConfig.UpView, this.gameObject.transform, {
|
||||
showType = UpViewOpenType.ShowLeft
|
||||
})
|
||||
this.helpBtn = Util.GetGameObject(this.gameObject, "HelpBtn")
|
||||
this.helpPosition = this.helpBtn:GetComponent("RectTransform").localPosition
|
||||
this.leftBtn = Util.GetGameObject(this.gameObject, "LeftBtn")
|
||||
this.rightBtn = Util.GetGameObject(this.gameObject, "RightBtn")
|
||||
this.handBookBtn = Util.GetGameObject(this.gameObject, "HandBookBtn") --图鉴按钮
|
||||
this.detailsBtn = Util.GetGameObject(this.gameObject, "DetailsBtn") --细节按钮
|
||||
this.showBtn = Util.GetGameObject(this.gameObject, "ShowBtn") --显示装备中的魂印按钮
|
||||
this.handBookBtn = Util.GetGameObject(this.gameObject, "HandBookBtn") -- 图鉴按钮
|
||||
this.detailsBtn = Util.GetGameObject(this.gameObject, "DetailsBtn") -- 细节按钮
|
||||
this.showBtn = Util.GetGameObject(this.gameObject, "ShowBtn") -- 显示装备中的魂印按钮
|
||||
this.showBtnOn = Util.GetGameObject(this.showBtn, "Bg/On"):GetComponent("Image")
|
||||
this.showBtn:SetActive(false)
|
||||
this.backBtn = Util.GetGameObject(this.gameObject, "BackBtn/btnBack")
|
||||
this.empty = Util.GetGameObject(this.gameObject, "Empty")
|
||||
this.emptyTxt = Util.GetGameObject(this.gameObject, "Empty/talkImage/Text"):GetComponent("Text")
|
||||
this.emptyTxt.text = Language[11164]
|
||||
--循环布局根节点
|
||||
-- 循环布局根节点
|
||||
this.loopRoot = Util.GetGameObject(this.gameObject, "LoopRoot")
|
||||
this.loopPre = Util.GetGameObject(this.loopRoot, "Pre")
|
||||
|
||||
--英雄头像
|
||||
-- 英雄头像
|
||||
this.heroFrame = Util.GetGameObject(this.gameObject, "Hero/Frame"):GetComponent("Image")
|
||||
this.heroIcon = Util.GetGameObject(this.gameObject, "Hero/Icon"):GetComponent("Image")
|
||||
|
||||
--战力
|
||||
-- 战力
|
||||
this.power = Util.GetGameObject(this.gameObject, "Power/Value"):GetComponent("Text")
|
||||
|
||||
this.scrollBar = Util.GetGameObject(this.gameObject, "Scrollbar"):GetComponent("Scrollbar")
|
||||
--魂印列表
|
||||
-- 魂印列表
|
||||
this.scrollRoot = Util.GetGameObject(this.gameObject, "ScrollRoot")
|
||||
this.scrollPre = Util.GetGameObject(this.gameObject, "ScrollRoot/Pre")
|
||||
this.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.scrollRoot.transform, this.scrollPre,
|
||||
|
|
@ -82,36 +84,36 @@ end
|
|||
-- end
|
||||
|
||||
function GodPrintPanel:BindEvent()
|
||||
--帮助按钮
|
||||
-- 帮助按钮
|
||||
Util.AddClick(this.helpBtn, function()
|
||||
UIManager.OpenPanel(UIName.HelpPopup, HELP_TYPE.GodPrint, this.helpPosition.x, this.helpPosition.y)
|
||||
end)
|
||||
--向左切换英雄数据
|
||||
-- 向左切换英雄数据
|
||||
Util.AddClick(this.leftBtn, function()
|
||||
isPlayAnim = true
|
||||
this.OnLeftBtnClick()
|
||||
end)
|
||||
--向右切换英雄数据
|
||||
-- 向右切换英雄数据
|
||||
Util.AddClick(this.rightBtn, function()
|
||||
isPlayAnim = true
|
||||
this.OnRightBtnClick()
|
||||
end)
|
||||
--点击图鉴按钮
|
||||
-- 点击图鉴按钮
|
||||
Util.AddClick(this.handBookBtn, function()
|
||||
UIManager.OpenPanel(UIName.GodPrintHandBook)
|
||||
end)
|
||||
--点击细节按钮
|
||||
-- 点击细节按钮
|
||||
Util.AddClick(this.detailsBtn, function()
|
||||
--UIManager.OpenPanel(UIName.GodPrintPopUpV2,1,curHeroData)
|
||||
-- UIManager.OpenPanel(UIName.GodPrintPopUpV2,1,curHeroData)
|
||||
UIManager.OpenPanel(UIName.HelpPopup, HELP_TYPE.GodPrint, this.helpPosition.x, this.helpPosition.y)
|
||||
end)
|
||||
--点击显示装备中魂印按钮
|
||||
-- 点击显示装备中魂印按钮
|
||||
Util.AddClick(this.showBtn, function()
|
||||
isShow = (not isShow and true or false)
|
||||
this.showBtnOn.enabled = isShow
|
||||
this.SetScrollData()
|
||||
end)
|
||||
--关闭页面
|
||||
-- 关闭页面
|
||||
Util.AddClick(this.backBtn, function()
|
||||
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
|
||||
self:ClosePanel()
|
||||
|
|
@ -127,7 +129,7 @@ function GodPrintPanel:RemoveListener()
|
|||
end
|
||||
|
||||
function GodPrintPanel:OnSortingOrderChange()
|
||||
--特效层级重设
|
||||
-- 特效层级重设
|
||||
for _, v in pairs(list) do
|
||||
Util.SetParticleSortLayer(v, self.sortingOrder)
|
||||
end
|
||||
|
|
@ -161,8 +163,11 @@ end
|
|||
|
||||
function GodPrintPanel:OnShow()
|
||||
isPlayAnim = true
|
||||
this.upView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
|
||||
--已激活魂印的Hero为1时 隐藏左右按钮
|
||||
this.upView:OnOpen({
|
||||
showType = UpViewOpenType.ShowLeft,
|
||||
panelType = PanelType.Main
|
||||
})
|
||||
-- 已激活魂印的Hero为1时 隐藏左右按钮
|
||||
this.leftBtn.gameObject:SetActive(#heroDatas > 1)
|
||||
this.rightBtn.gameObject:SetActive(#heroDatas > 1)
|
||||
this.RefreshShow()
|
||||
|
|
@ -187,31 +192,31 @@ function GodPrintPanel:OnDestroy()
|
|||
list = {}
|
||||
end
|
||||
|
||||
--点击左
|
||||
-- 点击左
|
||||
function this.OnLeftBtnClick()
|
||||
index = (index - 1 > 0 and index - 1 or #heroDatas)
|
||||
curHeroData = heroDatas[index]
|
||||
this.RefreshShow()
|
||||
end
|
||||
|
||||
--点击右
|
||||
-- 点击右
|
||||
function this.OnRightBtnClick()
|
||||
index = (index + 1 <= #heroDatas and index + 1 or 1)
|
||||
curHeroData = heroDatas[index]
|
||||
this.RefreshShow()
|
||||
end
|
||||
|
||||
--刷新显示
|
||||
-- 刷新显示
|
||||
function this.RefreshShow()
|
||||
--LogGreen("刷新魂印面板")
|
||||
-- LogGreen("刷新魂印面板")
|
||||
teamHero = FormationManager.GetAllMainFormationHeroId()
|
||||
isUpZhen = teamHero[curHeroData.dynamicId] and true or false
|
||||
this.SetLoopUI()
|
||||
this.SetHero()
|
||||
this.SetScrollData()
|
||||
--对比战力并更新战力值 播放战力变更动画
|
||||
-- 对比战力并更新战力值 播放战力变更动画
|
||||
local allAddProVal
|
||||
--计算面板属性
|
||||
-- 计算面板属性
|
||||
local WarPower
|
||||
if isUpZhen then
|
||||
allAddProVal = HeroPropManager.GetHeroProp(curHeroData.dynamicId, FormationTypeDef.FORMATION_NORMAL)
|
||||
|
|
@ -223,51 +228,51 @@ function this.RefreshShow()
|
|||
this.power.text = WarPower
|
||||
end
|
||||
|
||||
--设置环形布局
|
||||
-- 设置环形布局
|
||||
function this.SetLoopUI()
|
||||
local didLv = 0
|
||||
--最终最大等级
|
||||
-- 最终最大等级
|
||||
local maxLv = 0
|
||||
loopCount, didLen, didLv, maxLv = HeroManager.GetGodPrintLoopUIMaxData(curHeroData.lv)
|
||||
-- LogBlue("最大槽位数量"..loopCount.." 可装备槽位数量"..didLen.." 最大动态等级"..didLv.." 配置最大等级"..maxLv)
|
||||
local d = string.split(ConfigManager.GetConfigData(ConfigName.SpecialConfig, 149).Value, "#")
|
||||
loopCount = #d
|
||||
--初始化
|
||||
-- 初始化
|
||||
for i = 1, #d do
|
||||
if not loopList[i] then
|
||||
loopList[i] = newObjToParent(this.loopPre, this.loopRoot)
|
||||
end
|
||||
loopList[i].name = "Pre" .. i
|
||||
end
|
||||
--设置不包含最后一位 为默认
|
||||
-- 设置不包含最后一位 为默认
|
||||
for j = 1, #d do
|
||||
loopList[j]:GetComponent("RectTransform").anchoredPosition = this.GetCurPosByIndex(j)
|
||||
--由星级限制修改为鸿蒙等级限制
|
||||
-- 由星级限制修改为鸿蒙等级限制
|
||||
local harmony = HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv)
|
||||
if (harmony and harmony.value >= tonumber(d[j])) or 1 >= tonumber(d[j]) then
|
||||
--if curHeroData.star >= tonumber(d[j]) then
|
||||
-- if curHeroData.star >= tonumber(d[j]) then
|
||||
this.SetLoopPre(loopList[j], 1, nil, nil, j)
|
||||
else
|
||||
this.SetLoopPre(loopList[j], 2, nil, tonumber(d[j]), j)
|
||||
end
|
||||
end
|
||||
|
||||
--数据赋值
|
||||
--LogError("#curHeroData.godPrintList=="..#curHeroData.godPrintList)
|
||||
-- 数据赋值
|
||||
-- LogError("#curHeroData.godPrintList=="..#curHeroData.godPrintList)
|
||||
for k = 1, #curHeroData.godPrintList do
|
||||
local index = curHeroData.godPrintList[k].position
|
||||
this.SetLoopPre(loopList[index], 3, index, curHeroData.godPrintList[k])
|
||||
end
|
||||
end
|
||||
|
||||
--获取当前子布局坐标
|
||||
-- 获取当前子布局坐标
|
||||
function this.GetCurPosByIndex(index)
|
||||
local hudu = (angle / 180) * Mathf.PI
|
||||
angle = angle + (360 / loopCount)
|
||||
return Vector2.New(radius * Mathf.Cos(hudu), radius * Mathf.Sin(hudu))
|
||||
end
|
||||
|
||||
--设置环形布局预设 root:预设根节点 type:开启类型 index 位置 data:数据
|
||||
-- 设置环形布局预设 root:预设根节点 type:开启类型 index 位置 data:数据
|
||||
function this.SetLoopPre(root, type, index, data, curIndex)
|
||||
local normal = Util.GetGameObject(root, "Normal")
|
||||
local lock = Util.GetGameObject(root, "Lock")
|
||||
|
|
@ -279,28 +284,29 @@ function this.SetLoopPre(root, type, index, data, curIndex)
|
|||
if curIndex then
|
||||
bg.transform:DORotate(Vector3.New(0, 0, (360 / loopCount) * (curIndex - 1) + root.transform.localRotation.z), 0)
|
||||
end
|
||||
normal:SetActive(type == 1) --解锁 未装备
|
||||
lock:SetActive(type == 2) --锁定
|
||||
unlock:SetActive(type == 3) --解锁装备魂印
|
||||
root:GetComponent("Button").interactable = type == 3 --只有被赋值的按钮才能点击
|
||||
normal:SetActive(type == 1) -- 解锁 未装备
|
||||
lock:SetActive(type == 2) -- 锁定
|
||||
unlock:SetActive(type == 3) -- 解锁装备魂印
|
||||
root:GetComponent("Button").interactable = type == 3 -- 只有被赋值的按钮才能点击
|
||||
if type == 1 then
|
||||
Util.GetGameObject(bg, "bg"):GetComponent("Image").sprite = this.spLoader:LoadSprite(SoulPrintSpriteByQuantity
|
||||
[0].circleBg1)
|
||||
Util.GetGameObject(bg, "bg"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||||
SoulPrintSpriteByQuantity[0].circleBg1)
|
||||
elseif type == 2 then
|
||||
Util.GetGameObject(bg, "bg"):GetComponent("Image").sprite = this.spLoader:LoadSprite(SoulPrintSpriteByQuantity
|
||||
[0].circleBg1)
|
||||
--Util.GetGameObject(lock, "Text"):GetComponent("Text").text = string.format(Language[11165], data)
|
||||
--Util.GetGameObject(lock, "Text"):GetComponent("Text").text = string.format(Language[11165], data)
|
||||
Util.GetGameObject(lock, "Text"):GetComponent("Text").text = string.format(GetLanguageStrById("鸿蒙%s级解锁"), data)
|
||||
Util.GetGameObject(bg, "bg"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||||
SoulPrintSpriteByQuantity[0].circleBg1)
|
||||
-- Util.GetGameObject(lock, "Text"):GetComponent("Text").text = string.format(Language[11165], data)
|
||||
-- Util.GetGameObject(lock, "Text"):GetComponent("Text").text = string.format(Language[11165], data)
|
||||
Util.GetGameObject(lock, "Text"):GetComponent("Text").text =
|
||||
string.format(GetLanguageStrById("鸿蒙%s级解锁"), data)
|
||||
elseif type == 3 then
|
||||
--Util.GetGameObject(bg,"Frame"):GetComponent("Image").enabled=true
|
||||
Util.GetGameObject(bg, "bg"):GetComponent("Image").sprite = this.spLoader:LoadSprite(SoulPrintSpriteByQuantity
|
||||
[equipConfig[data.equipId].Quality].circleBg1)
|
||||
--Util.GetGameObject(bg,"Frame"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetQuantityImageByqualityPoint(equipConfig[data.equipId].Quality))
|
||||
-- Util.GetGameObject(bg,"Frame"):GetComponent("Image").enabled=true
|
||||
Util.GetGameObject(bg, "bg"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||||
SoulPrintSpriteByQuantity[equipConfig[data.equipId].Quality].circleBg1)
|
||||
-- Util.GetGameObject(bg,"Frame"):GetComponent("Image").sprite=this.spLoader:LoadSprite(GetQuantityImageByqualityPoint(equipConfig[data.equipId].Quality))
|
||||
Util.GetGameObject(unlock, "circleFrame"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||||
SoulPrintSpriteByQuantity[equipConfig[data.equipId].Quality].circleBg2)
|
||||
Util.GetGameObject(unlock, "Icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(
|
||||
itemConfig[data.equipId].ResourceID))
|
||||
Util.GetGameObject(unlock, "Icon"):GetComponent("Image").sprite =
|
||||
this.spLoader:LoadSprite(GetResourcePath(itemConfig[data.equipId].ResourceID))
|
||||
Util.GetGameObject(unlock, "circle"):GetComponent("Image").sprite = this.spLoader:LoadSprite(
|
||||
SoulPrintSpriteByQuantity[equipConfig[data.equipId].Quality].circle)
|
||||
Util.GetGameObject(unlock, "Name"):GetComponent("Text").text = GetLanguageStrById(itemConfig[data.equipId].Name)
|
||||
|
|
@ -311,7 +317,7 @@ function this.SetLoopPre(root, type, index, data, curIndex)
|
|||
LogBlue("卸下时 " .. data.equipId)
|
||||
UIManager.OpenPanel(UIName.GodPrintPopUp, 2, curHeroData.dynamicId, data.equipId, pos, function()
|
||||
this.RefreshShow()
|
||||
--对比战力并更新战力值 播放战力变更动画
|
||||
-- 对比战力并更新战力值 播放战力变更动画
|
||||
HeroManager.CompareWarPower(curHeroData.dynamicId)
|
||||
LogError("刷新完界面数据")
|
||||
end)
|
||||
|
|
@ -319,14 +325,14 @@ function this.SetLoopPre(root, type, index, data, curIndex)
|
|||
end
|
||||
end
|
||||
|
||||
--设置英雄
|
||||
-- 设置英雄
|
||||
function this.SetHero()
|
||||
this.heroIcon.sprite = this.spLoader:LoadSprite(curHeroData.icon)
|
||||
this.heroFrame.sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(curHeroData.heroConfig.Quality,
|
||||
curHeroData.star))
|
||||
-- local allPro = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false)
|
||||
local WarPower
|
||||
--计算面板属性
|
||||
-- 计算面板属性
|
||||
if isUpZhen then
|
||||
WarPower = HeroPowerManager.GetHeroPower(curHeroData.dynamicId, FormationTypeDef.FORMATION_NORMAL)
|
||||
else
|
||||
|
|
@ -335,7 +341,7 @@ function this.SetHero()
|
|||
this.power.text = WarPower
|
||||
end
|
||||
|
||||
--设置装备中的魂印
|
||||
-- 设置装备中的魂印
|
||||
function this.SetIsShow()
|
||||
if PlayerPrefs.GetInt(PlayerManager.uid .. "_GodPrint_IsShow") then
|
||||
isShow = PlayerPrefs.GetInt(PlayerManager.uid .. "_GodPrint_IsShow") == 1
|
||||
|
|
@ -345,7 +351,7 @@ function this.SetIsShow()
|
|||
this.showBtnOn.enabled = isShow
|
||||
end
|
||||
|
||||
--设置魂印列表滚动条
|
||||
-- 设置魂印列表滚动条
|
||||
function this.SetScrollData()
|
||||
local data = GodPrintManager.GetAllSoulPrint(isShow, curHeroData.id, curHeroData.dynamicId, curHeroData)
|
||||
this.empty:SetActive(#data == 0)
|
||||
|
|
@ -370,7 +376,7 @@ function this.SetScrollData()
|
|||
this.scrollView:SetIndex(1)
|
||||
end
|
||||
|
||||
--设置魂印列表预设
|
||||
-- 设置魂印列表预设
|
||||
function this.SetScrollPre(root, data)
|
||||
Util.SetParticleSortLayer(root, this.sortingOrder + 1)
|
||||
SetSoulEffect(itemConfig[data.id].Quantity1, root)
|
||||
|
|
@ -381,10 +387,11 @@ function this.SetScrollPre(root, data)
|
|||
local hero = Util.GetGameObject(root, "Hero")
|
||||
local heroIcon = Util.GetGameObject(hero, "Icon"):GetComponent("Image")
|
||||
local circle = Util.GetGameObject(root, "circle"):GetComponent("Image")
|
||||
local equipped = Util.GetGameObject(root, "Equipped") --是否已装备
|
||||
local equipped = Util.GetGameObject(root, "Equipped") -- 是否已装备
|
||||
local lvTxt = Util.GetGameObject(root, "lv"):GetComponent("Text")
|
||||
Util.GetGameObject(root, "limit"):SetActive(equipConfig[data.id].limit == 1 and
|
||||
not GodPrintManager.GetCurGodPrintIsCanUp(data.id) and data.upHero == "")
|
||||
not GodPrintManager.GetCurGodPrintIsCanUp(data.id) and data.upHero ==
|
||||
"")
|
||||
frame.sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(equipConfig[data.id].Quality))
|
||||
circle.sprite = this.spLoader:LoadSprite(SoulPrintSpriteByQuantity[equipConfig[data.id].Quality].circle)
|
||||
icon.sprite = this.spLoader:LoadSprite(GetResourcePath(itemConfig[data.id].ResourceID))
|
||||
|
|
@ -397,10 +404,10 @@ function this.SetScrollPre(root, data)
|
|||
if data.upHero ~= "" then
|
||||
local heroData = HeroManager.GetSingleHeroData(data.upHero)
|
||||
local heroId = heroData.id
|
||||
--LogGreen(heroId)
|
||||
-- LogGreen(heroId)
|
||||
heroIcon.sprite = this.spLoader:LoadSprite(heroData.icon)
|
||||
end
|
||||
--点击事件(穿戴或替换魂印)
|
||||
-- 点击事件(穿戴或替换魂印)
|
||||
Util.AddOnceClick(root, function()
|
||||
if not GodPrintManager.GetCurGodPrintIsCanUp(data.id) and data.upHero == "" then
|
||||
PopupTipPanel.ShowTip(Language[11166])
|
||||
|
|
@ -410,21 +417,21 @@ function this.SetScrollPre(root, data)
|
|||
PopupTipPanel.ShowTip(Language[11166])
|
||||
return
|
||||
end
|
||||
local pos = this.GetPos() --位置
|
||||
local pos = this.GetPos() -- 位置
|
||||
local oldPower = HeroManager.GetSingleHeroData(curHeroData.dynamicId).warPower
|
||||
UIManager.OpenPanel(UIName.GodPrintPopUp, 1, curHeroData.dynamicId, data.id, pos, function()
|
||||
-- if curHeroData.dynamicId then
|
||||
-- PopupTipPanel.ShowTip("装备成功!")
|
||||
-- end
|
||||
this.RefreshShow()
|
||||
--对比战力并更新战力值 播放战力变更动画
|
||||
-- 对比战力并更新战力值 播放战力变更动画
|
||||
HeroManager.CompareWarPower1(curHeroData.dynamicId, oldPower)
|
||||
end, data)
|
||||
-- end
|
||||
end)
|
||||
end
|
||||
|
||||
--自动获取魂印的位置 如果有位置返回位置 如果没位置返回0
|
||||
-- 自动获取魂印的位置 如果有位置返回位置 如果没位置返回0
|
||||
function this.GetPos()
|
||||
local _data = {}
|
||||
for k = 1, loopCount do
|
||||
|
|
@ -433,12 +440,12 @@ function this.GetPos()
|
|||
end
|
||||
end
|
||||
if didLen == LengthOfTable(_data) then
|
||||
--LogError("ssssssssssssssssss"..tostring(loopCount).."/"..tostring(didLen).."/"..tostring( LengthOfTable(_data)))
|
||||
-- LogError("ssssssssssssssssss"..tostring(loopCount).."/"..tostring(didLen).."/"..tostring( LengthOfTable(_data)))
|
||||
return 0
|
||||
end
|
||||
for i = 1, loopCount do
|
||||
if _data[i] == nil then
|
||||
--LogError("ssssssssssssssssss"..tostring(loopCount).."/"..tostring(didLen).."/"..tostring( LengthOfTable(_data)))
|
||||
-- LogError("ssssssssssssssssss"..tostring(loopCount).."/"..tostring(didLen).."/"..tostring( LengthOfTable(_data)))
|
||||
return i
|
||||
end
|
||||
end
|
||||
|
|
@ -447,26 +454,32 @@ end
|
|||
function this.ShowRedPotDataAndSort(allData)
|
||||
if curHeroData.godPrintList and #curHeroData.godPrintList >= 3 then
|
||||
table.sort(allData, function(a, b)
|
||||
if equipConfig[a.id].Quality == equipConfig[b.id].Quality then
|
||||
return a.id > b.id
|
||||
if this.GetCurHeroSoulPrintState(a.id) == this.GetCurHeroSoulPrintState(b.id) then
|
||||
if equipConfig[a.id].Quality == equipConfig[b.id].Quality then
|
||||
return a.id > b.id
|
||||
else
|
||||
return equipConfig[a.id].Quality > equipConfig[b.id].Quality
|
||||
end
|
||||
elseif this.GetCurHeroSoulPrintState(a.id) == false and this.GetCurHeroSoulPrintState(b.id) then
|
||||
return true
|
||||
else
|
||||
return equipConfig[a.id].Quality > equipConfig[b.id].Quality
|
||||
return false
|
||||
end
|
||||
end)
|
||||
return
|
||||
end
|
||||
|
||||
local allUpSoulPrint = {} --所有已上魂印
|
||||
local allUpSoulPrint = {} -- 所有已上魂印
|
||||
if curHeroData.godPrintList then
|
||||
for i = 1, #curHeroData.godPrintList do
|
||||
local equip = equipConfig[curHeroData.godPrintList[i].equipId]
|
||||
-- allUpSoulPrint[curHeroData.godPrintList[i].equipId] = equip --curHeroData.godPrintList[i]
|
||||
--LogError("equip.SuiteID=="..equip.SuiteID)
|
||||
-- LogError("equip.SuiteID=="..equip.SuiteID)
|
||||
table.insert(allUpSoulPrint, equip.SuiteID)
|
||||
end
|
||||
end
|
||||
--LogError("allUpSoulPrint "..LengthOfTable(allUpSoulPrint).." "..#allData)
|
||||
local haveRedPointSid = {} --所有已标记红点魂印
|
||||
-- LogError("allUpSoulPrint "..LengthOfTable(allUpSoulPrint).." "..#allData)
|
||||
local haveRedPointSid = {} -- 所有已标记红点魂印
|
||||
|
||||
local temp = GodPrintManager.GetAllSoulPrint(true, curHeroData.id, curHeroData.dynamicId, curHeroData)
|
||||
local limitSoulPrint = {}
|
||||
|
|
@ -477,7 +490,7 @@ function this.ShowRedPotDataAndSort(allData)
|
|||
end
|
||||
|
||||
for i = 1, #allData do
|
||||
--这个英雄没有装备这个魂印,并且可以装备,并且不在haveRedPointSid列表里
|
||||
-- 这个英雄没有装备这个魂印,并且可以装备,并且不在haveRedPointSid列表里
|
||||
allData[i].isShowRedPot = 0
|
||||
local suitId = equipConfig[allData[i].id].SuiteID
|
||||
local isHave = false
|
||||
|
|
@ -489,9 +502,10 @@ function this.ShowRedPotDataAndSort(allData)
|
|||
local isHaveCurHeroid = HeroManager.CheckHeroIsCanAddGodPrint(equipConfig[allData[i].id].ProfessionLimit,
|
||||
curHeroData)
|
||||
local allNum, open = HeroManager.GetGodPrintLoopUIMaxData(curHeroData.lv)
|
||||
--LogError("#curHeroData.godPrintList=="..#curHeroData.godPrintList.." open=="..open.." curHeroData.star=="..curHeroData.star)
|
||||
if not isHave and isHaveCurHeroid and allData[i].upHero == "" and not haveRedPointSid[suitId] and #curHeroData.godPrintList < open then
|
||||
allData[i].isShowRedPot = 1 --有空位可以穿戴
|
||||
-- LogError("#curHeroData.godPrintList=="..#curHeroData.godPrintList.." open=="..open.." curHeroData.star=="..curHeroData.star)
|
||||
if not isHave and isHaveCurHeroid and allData[i].upHero == "" and not haveRedPointSid[suitId] and
|
||||
#curHeroData.godPrintList < open then
|
||||
allData[i].isShowRedPot = 1 -- 有空位可以穿戴
|
||||
haveRedPointSid[suitId] = suitId
|
||||
end
|
||||
|
||||
|
|
@ -514,7 +528,7 @@ function this.ShowRedPotDataAndSort(allData)
|
|||
end)
|
||||
end
|
||||
|
||||
--获取当前英雄是否已装备该魂印
|
||||
-- 获取当前英雄是否已装备该魂印
|
||||
function this.GetCurHeroSoulPrintState(id)
|
||||
for k = 1, #curHeroData.godPrintList do
|
||||
local _id = curHeroData.godPrintList[k].equipId
|
||||
|
|
|
|||
Loading…
Reference in New Issue