段位奖励展示修改、添加收集标签红点
This commit is contained in:
parent
4d5c23a6b6
commit
e76e7ccab6
@ -1,11 +1,15 @@
|
|||||||
local ArenaGradingRewardCell = class("ArenaGradingRewardCell", BaseCell)
|
local ArenaGradingRewardCell = class("ArenaGradingRewardCell", BaseCell)
|
||||||
|
|
||||||
local COMMON_SIZE = 220
|
local COMMON_GRADING_POSY = 265
|
||||||
local UNLOCK_SIZE = 570
|
local UNLOCK_GRADING_POSY = 375
|
||||||
|
|
||||||
function ArenaGradingRewardCell:init()
|
function ArenaGradingRewardCell:init()
|
||||||
local uiMap = self:getUIMap()
|
local uiMap = self:getUIMap()
|
||||||
|
|
||||||
|
-- 段位spine
|
||||||
|
self.gradingNode = uiMap["arena_grading_reward_cell.grading"]
|
||||||
|
self.spineGradingRoot = uiMap["arena_grading_reward_cell.grading.spine_root"]
|
||||||
|
self.txGrading = uiMap["arena_grading_reward_cell.grading.tx_grading"]
|
||||||
-- 进度
|
-- 进度
|
||||||
self.progress = uiMap["arena_grading_reward_cell.progress"]
|
self.progress = uiMap["arena_grading_reward_cell.progress"]
|
||||||
self.imgProgCur = uiMap["arena_grading_reward_cell.progress.img_prog_cur"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
self.imgProgCur = uiMap["arena_grading_reward_cell.progress.img_prog_cur"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||||
@ -24,9 +28,6 @@ function ArenaGradingRewardCell:init()
|
|||||||
end
|
end
|
||||||
-- 英雄解锁
|
-- 英雄解锁
|
||||||
self.heroUnlock = uiMap["arena_grading_reward_cell.hero_unlock"]
|
self.heroUnlock = uiMap["arena_grading_reward_cell.hero_unlock"]
|
||||||
self.spineGradingRoot = uiMap["arena_grading_reward_cell.hero_unlock.spine_root"]
|
|
||||||
self.spineGrading = uiMap["arena_grading_reward_cell.hero_unlock.spine_grading"]
|
|
||||||
self.txGrading = uiMap["arena_grading_reward_cell.hero_unlock.title.tx_grading"]
|
|
||||||
self.txUnlock = uiMap["arena_grading_reward_cell.hero_unlock.tx_unlock"]
|
self.txUnlock = uiMap["arena_grading_reward_cell.hero_unlock.tx_unlock"]
|
||||||
self.heroList = uiMap["arena_grading_reward_cell.hero_unlock.hero_list"]
|
self.heroList = uiMap["arena_grading_reward_cell.hero_unlock.hero_list"]
|
||||||
self.heros = {}
|
self.heros = {}
|
||||||
@ -52,17 +53,19 @@ function ArenaGradingRewardCell:refresh(id)
|
|||||||
-- Logger.logHighlight(id.."当前进度:"..cfg.score.."/" .. curProg .."/"..maxProg)
|
-- Logger.logHighlight(id.."当前进度:"..cfg.score.."/" .. curProg .."/"..maxProg)
|
||||||
|
|
||||||
self.spineGradingRoot:removeAllChildren()
|
self.spineGradingRoot:removeAllChildren()
|
||||||
if cfg.unlock_hero and #cfg.unlock_hero > 0 then
|
|
||||||
-- 解锁英雄
|
|
||||||
self.baseObject:setSizeDeltaY(UNLOCK_SIZE)
|
|
||||||
self.heroUnlock:setActive(true)
|
|
||||||
|
|
||||||
local gradingId = DataManager.ArenaData:getGradingIdFromScore(cfg.score)
|
local gradingId = DataManager.ArenaData:getGradingIdFromScore(cfg.score)
|
||||||
SpineManager:loadUISpineWidgetAsync(DataManager.ArenaData:getGradingIconName(gradingId).."_spine", self.spineGradingRoot, function(spineObject)
|
SpineManager:loadUISpineWidgetAsync(DataManager.ArenaData:getGradingIconName(gradingId).."_spine", self.spineGradingRoot, function(spineObject)
|
||||||
spineObject:setSkin(DataManager.ArenaData:getGradingNumName(gradingId))
|
spineObject:setSkin(DataManager.ArenaData:getGradingNumName(gradingId))
|
||||||
spineObject:playAnim("idle", true)
|
spineObject:playAnim("idle", true)
|
||||||
end)
|
end)
|
||||||
self.txGrading:setText(DataManager.ArenaData:getGradingName(gradingId))
|
self.txGrading:setText(DataManager.ArenaData:getGradingName(gradingId))
|
||||||
|
|
||||||
|
if cfg.unlock_hero and #cfg.unlock_hero > 0 then
|
||||||
|
-- 解锁英雄
|
||||||
|
self.gradingNode:setAnchoredPositionY(UNLOCK_GRADING_POSY)
|
||||||
|
self.baseObject:setSizeDeltaY(DataManager.ArenaData:getGradingRewardItemHeight(true))
|
||||||
|
self.heroUnlock:setActive(true)
|
||||||
|
|
||||||
if maxPoint >= cfg.score then
|
if maxPoint >= cfg.score then
|
||||||
self.txUnlock:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_38))
|
self.txUnlock:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_38))
|
||||||
else
|
else
|
||||||
@ -76,17 +79,23 @@ function ArenaGradingRewardCell:refresh(id)
|
|||||||
hero:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_"..heroInfo.qlt)
|
hero:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_"..heroInfo.qlt)
|
||||||
local map = hero:genAllChildren()
|
local map = hero:genAllChildren()
|
||||||
map["img_hero"]:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
|
map["img_hero"]:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
|
||||||
|
|
||||||
|
hero:addClickListener(function()
|
||||||
|
ModuleManager.HeroManager:showHeroDetailUI(cfg.unlock_hero[idx], true)
|
||||||
|
end)
|
||||||
else
|
else
|
||||||
hero:setActive(false)
|
hero:setActive(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
self.baseObject:setSizeDeltaY(COMMON_SIZE)
|
self.gradingNode:setAnchoredPositionY(COMMON_GRADING_POSY)
|
||||||
|
self.baseObject:setSizeDeltaY(DataManager.ArenaData:getGradingRewardItemHeight(false))
|
||||||
self.heroUnlock:setActive(false)
|
self.heroUnlock:setActive(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
self.txTag:setText(curPoint)
|
local minScore = DataManager.ArenaData:getSeasonGradingMinScore()
|
||||||
self.txGradingValue:setText(cfg.score)
|
self.txTag:setText(curPoint - minScore)
|
||||||
|
self.txGradingValue:setText(cfg.score - minScore)
|
||||||
self.imgProgCur.value = curProg
|
self.imgProgCur.value = curProg
|
||||||
self.imgProgMax.value = maxProg
|
self.imgProgMax.value = maxProg
|
||||||
|
|
||||||
|
|||||||
@ -157,6 +157,18 @@ function CollectionUI:refreshCollectPoint()
|
|||||||
self.txTotalValue:setText(cur.."/"..total)
|
self.txTotalValue:setText(cur.."/"..total)
|
||||||
|
|
||||||
GFunc.centerImgAndTx(self.imgGet, self.txGet, 5)
|
GFunc.centerImgAndTx(self.imgGet, self.txGet, 5)
|
||||||
|
|
||||||
|
-- 红点
|
||||||
|
if DataManager.CollectionData:hasCanCollectPoint(GConst.CollectionConst.TYPE.HERO) then
|
||||||
|
self.btnHero:addRedPoint(25, 30, 0.6)
|
||||||
|
else
|
||||||
|
self.btnHero:removeRedPoint()
|
||||||
|
end
|
||||||
|
if DataManager.CollectionData:hasCanCollectPoint(GConst.CollectionConst.TYPE.SKIN) then
|
||||||
|
self.btnSkin:addRedPoint(25, 30, 0.6)
|
||||||
|
else
|
||||||
|
self.btnSkin:removeRedPoint()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function CollectionUI:showFlyAnim()
|
function CollectionUI:showFlyAnim()
|
||||||
|
|||||||
@ -606,9 +606,14 @@ function ArenaData:hasGradingRewardRedDot()
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
local GRADING_REWARD_COMMON_SIZE = 220
|
local GRADING_REWARD_COMMON_SIZE = 460
|
||||||
local GRADING_REWARD_UNLOCK_SIZE = 570
|
local GRADING_REWARD_UNLOCK_SIZE = 570
|
||||||
|
|
||||||
|
-- 获取段位奖励项的高
|
||||||
|
function ArenaData:getGradingRewardItemHeight(hasUnlockHero)
|
||||||
|
return hasUnlockHero and GRADING_REWARD_UNLOCK_SIZE or GRADING_REWARD_COMMON_SIZE
|
||||||
|
end
|
||||||
|
|
||||||
-- 获取当前列表定位所在档位的高度
|
-- 获取当前列表定位所在档位的高度
|
||||||
function ArenaData:getCurTargetPosY()
|
function ArenaData:getCurTargetPosY()
|
||||||
-- 判断最低奖励可领取
|
-- 判断最低奖励可领取
|
||||||
|
|||||||
@ -39,16 +39,12 @@ function CollectionData:hasRedPoint()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- 可领点数
|
-- 可领点数
|
||||||
for idx, data in pairs(self:getCollectList(GConst.CollectionConst.TYPE.HERO)) do
|
if self:hasCanCollectPoint(GConst.CollectionConst.TYPE.HERO) then
|
||||||
if self:canCollectPoint(GConst.CollectionConst.TYPE.HERO, data.id) then
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
if self:hasCanCollectPoint(GConst.CollectionConst.TYPE.SKIN) then
|
||||||
for idx, data in pairs(self:getCollectList(GConst.CollectionConst.TYPE.SKIN)) do
|
|
||||||
if self:canCollectPoint(GConst.CollectionConst.TYPE.SKIN, data.id) then
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
-- 可领奖励
|
-- 可领奖励
|
||||||
for id, data in pairs(self:getRewardList()) do
|
for id, data in pairs(self:getRewardList()) do
|
||||||
@ -60,6 +56,16 @@ function CollectionData:hasRedPoint()
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- 是否有可领取的收集值
|
||||||
|
function CollectionData:hasCanCollectPoint(type)
|
||||||
|
for idx, data in pairs(self:getCollectList(type)) do
|
||||||
|
if self:canCollectPoint(type, data.id) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
-- 获取当前收集值
|
-- 获取当前收集值
|
||||||
function CollectionData:getCurCollectPoint()
|
function CollectionData:getCurCollectPoint()
|
||||||
return self.curPoint
|
return self.curPoint
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user