段位奖励展示修改、添加收集标签红点
This commit is contained in:
parent
4d5c23a6b6
commit
e76e7ccab6
@ -1,11 +1,15 @@
|
||||
local ArenaGradingRewardCell = class("ArenaGradingRewardCell", BaseCell)
|
||||
|
||||
local COMMON_SIZE = 220
|
||||
local UNLOCK_SIZE = 570
|
||||
local COMMON_GRADING_POSY = 265
|
||||
local UNLOCK_GRADING_POSY = 375
|
||||
|
||||
function ArenaGradingRewardCell:init()
|
||||
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.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
|
||||
-- 英雄解锁
|
||||
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.heroList = uiMap["arena_grading_reward_cell.hero_unlock.hero_list"]
|
||||
self.heros = {}
|
||||
@ -52,17 +53,19 @@ function ArenaGradingRewardCell:refresh(id)
|
||||
-- Logger.logHighlight(id.."当前进度:"..cfg.score.."/" .. curProg .."/"..maxProg)
|
||||
|
||||
self.spineGradingRoot:removeAllChildren()
|
||||
local gradingId = DataManager.ArenaData:getGradingIdFromScore(cfg.score)
|
||||
SpineManager:loadUISpineWidgetAsync(DataManager.ArenaData:getGradingIconName(gradingId).."_spine", self.spineGradingRoot, function(spineObject)
|
||||
spineObject:setSkin(DataManager.ArenaData:getGradingNumName(gradingId))
|
||||
spineObject:playAnim("idle", true)
|
||||
end)
|
||||
self.txGrading:setText(DataManager.ArenaData:getGradingName(gradingId))
|
||||
|
||||
if cfg.unlock_hero and #cfg.unlock_hero > 0 then
|
||||
-- 解锁英雄
|
||||
self.baseObject:setSizeDeltaY(UNLOCK_SIZE)
|
||||
self.gradingNode:setAnchoredPositionY(UNLOCK_GRADING_POSY)
|
||||
self.baseObject:setSizeDeltaY(DataManager.ArenaData:getGradingRewardItemHeight(true))
|
||||
self.heroUnlock:setActive(true)
|
||||
|
||||
local gradingId = DataManager.ArenaData:getGradingIdFromScore(cfg.score)
|
||||
SpineManager:loadUISpineWidgetAsync(DataManager.ArenaData:getGradingIconName(gradingId).."_spine", self.spineGradingRoot, function(spineObject)
|
||||
spineObject:setSkin(DataManager.ArenaData:getGradingNumName(gradingId))
|
||||
spineObject:playAnim("idle", true)
|
||||
end)
|
||||
self.txGrading:setText(DataManager.ArenaData:getGradingName(gradingId))
|
||||
if maxPoint >= cfg.score then
|
||||
self.txUnlock:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_38))
|
||||
else
|
||||
@ -76,17 +79,23 @@ function ArenaGradingRewardCell:refresh(id)
|
||||
hero:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_"..heroInfo.qlt)
|
||||
local map = hero:genAllChildren()
|
||||
map["img_hero"]:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
|
||||
|
||||
hero:addClickListener(function()
|
||||
ModuleManager.HeroManager:showHeroDetailUI(cfg.unlock_hero[idx], true)
|
||||
end)
|
||||
else
|
||||
hero:setActive(false)
|
||||
end
|
||||
end
|
||||
else
|
||||
self.baseObject:setSizeDeltaY(COMMON_SIZE)
|
||||
self.gradingNode:setAnchoredPositionY(COMMON_GRADING_POSY)
|
||||
self.baseObject:setSizeDeltaY(DataManager.ArenaData:getGradingRewardItemHeight(false))
|
||||
self.heroUnlock:setActive(false)
|
||||
end
|
||||
|
||||
self.txTag:setText(curPoint)
|
||||
self.txGradingValue:setText(cfg.score)
|
||||
local minScore = DataManager.ArenaData:getSeasonGradingMinScore()
|
||||
self.txTag:setText(curPoint - minScore)
|
||||
self.txGradingValue:setText(cfg.score - minScore)
|
||||
self.imgProgCur.value = curProg
|
||||
self.imgProgMax.value = maxProg
|
||||
|
||||
|
||||
@ -157,6 +157,18 @@ function CollectionUI:refreshCollectPoint()
|
||||
self.txTotalValue:setText(cur.."/"..total)
|
||||
|
||||
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
|
||||
|
||||
function CollectionUI:showFlyAnim()
|
||||
|
||||
@ -606,9 +606,14 @@ function ArenaData:hasGradingRewardRedDot()
|
||||
return false
|
||||
end
|
||||
|
||||
local GRADING_REWARD_COMMON_SIZE = 220
|
||||
local GRADING_REWARD_COMMON_SIZE = 460
|
||||
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()
|
||||
-- 判断最低奖励可领取
|
||||
|
||||
@ -39,15 +39,11 @@ function CollectionData:hasRedPoint()
|
||||
end
|
||||
|
||||
-- 可领点数
|
||||
for idx, data in pairs(self:getCollectList(GConst.CollectionConst.TYPE.HERO)) do
|
||||
if self:canCollectPoint(GConst.CollectionConst.TYPE.HERO, data.id) then
|
||||
return true
|
||||
end
|
||||
if self:hasCanCollectPoint(GConst.CollectionConst.TYPE.HERO) then
|
||||
return true
|
||||
end
|
||||
for idx, data in pairs(self:getCollectList(GConst.CollectionConst.TYPE.SKIN)) do
|
||||
if self:canCollectPoint(GConst.CollectionConst.TYPE.SKIN, data.id) then
|
||||
return true
|
||||
end
|
||||
if self:hasCanCollectPoint(GConst.CollectionConst.TYPE.SKIN) then
|
||||
return true
|
||||
end
|
||||
|
||||
-- 可领奖励
|
||||
@ -60,6 +56,16 @@ function CollectionData:hasRedPoint()
|
||||
return false
|
||||
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()
|
||||
return self.curPoint
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user