81 lines
2.4 KiB
Lua
81 lines
2.4 KiB
Lua
local ArenaGradingRewardUI = class("ArenaGradingRewardUI", BaseUI)
|
|
|
|
function ArenaGradingRewardUI:isFullScreen()
|
|
return true
|
|
end
|
|
|
|
function ArenaGradingRewardUI:showCommonBG()
|
|
return false
|
|
end
|
|
|
|
function ArenaGradingRewardUI:getPrefabPath()
|
|
return "assets/prefabs/ui/arena/arena_grading_reward_ui.prefab"
|
|
end
|
|
|
|
function ArenaGradingRewardUI:onPressBackspace()
|
|
self:closeUI()
|
|
end
|
|
|
|
function ArenaGradingRewardUI:ctor()
|
|
end
|
|
|
|
function ArenaGradingRewardUI:onCover()
|
|
end
|
|
|
|
function ArenaGradingRewardUI:onReshow()
|
|
end
|
|
|
|
function ArenaGradingRewardUI:onClose()
|
|
end
|
|
|
|
function ArenaGradingRewardUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
|
|
self.scrollrectComp = uiMap["arena_grading_reward_ui.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.scrollrectContent = uiMap["arena_grading_reward_ui.scrollrect.viewport.content"]
|
|
self.bannerCanvas = uiMap["arena_grading_reward_ui.banner"]:getComponent(GConst.TYPEOF_UNITY_CLASS.CANVAS)
|
|
self.btnClose = uiMap["arena_grading_reward_ui.banner.btn_close"]
|
|
self.txTips = uiMap["arena_grading_reward_ui.banner.tx_tips"]
|
|
|
|
self.bannerCanvas.overrideSorting = true
|
|
self.bannerCanvas.sortingOrder = self:getUIOrder() + GConst.UI_EFFECT_ORDER.LEVEL5
|
|
|
|
local cfg = DataManager.ArenaData:getGradingRewardCfg()
|
|
self.txTips:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_39))
|
|
self.scrollrectComp:addInitCallback(function()
|
|
return "app/ui/arena/cell/arena_grading_reward_cell"
|
|
end)
|
|
self.scrollrectComp:addRefreshCallback(function(index, cell)
|
|
cell:setUI(self)
|
|
cell:refresh(index)
|
|
end)
|
|
self.scrollrectComp:clearCells()
|
|
self.scrollrectComp:refillCells(#cfg)
|
|
-- 处理进入定位
|
|
self.scrollrectContent:setActive(false)
|
|
self:performWithDelayGlobal(function()
|
|
-- self.scrollrectComp:moveToIndex(DataManager.ArenaData:getCurTargetIndex())
|
|
local posY = -DataManager.ArenaData:getCurTargetPosY()
|
|
local temp = -self.scrollrectComp.baseObject:fastGetSizeDeltaY() / 2
|
|
Logger.logHighlight(posY.. "/"..temp)
|
|
if posY + temp <= 0 then
|
|
posY = posY + temp
|
|
end
|
|
Logger.logHighlight(posY)
|
|
self.scrollrectContent:setAnchoredPositionY(posY)
|
|
self.scrollrectContent:setActive(true)
|
|
end, 0.01)
|
|
|
|
self.btnClose:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
self:bind(DataManager.ArenaData, "isDirty", function()
|
|
self:onRefresh()
|
|
end)
|
|
end
|
|
|
|
function ArenaGradingRewardUI:onRefresh()
|
|
self.scrollrectComp:updateAllCell()
|
|
end
|
|
|
|
return ArenaGradingRewardUI |