78 lines
2.6 KiB
Lua
78 lines
2.6 KiB
Lua
local ChapterBoxUI = class("ChapterBoxUI", BaseUI)
|
|
|
|
function ChapterBoxUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function ChapterBoxUI:getPrefabPath()
|
|
return "assets/prefabs/ui/main_city/chapter_box_ui.prefab"
|
|
end
|
|
|
|
function ChapterBoxUI:ctor(params)
|
|
self.chapterId = params.chapterId
|
|
end
|
|
|
|
function ChapterBoxUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
uiMap["chapter_box_ui.bg.close_btn"]:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
uiMap["chapter_box_ui.mask"]:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
|
|
self.selImg = uiMap["chapter_box_ui.bg.bg1.sel_img"]
|
|
self.maxWaveTx = uiMap["chapter_box_ui.bg.max_wave_tx"]
|
|
|
|
uiMap["chapter_box_ui.bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.CHAPTER_WAVE_REAWRD_2))
|
|
|
|
self.chapterPage = DataManager.ChapterData:getChapterPage(self.chapterId)
|
|
self.chapterStage = DataManager.ChapterData:getChapterStage(self.chapterId)
|
|
local chapterList = DataManager.ChapterData:getChapterList(self.chapterPage)
|
|
self.chapterTxs = {}
|
|
for i = 1, 5 do
|
|
self.chapterTxs[i] = uiMap["chapter_box_ui.bg.bg1.tx_node.chapter_tx_" .. i]
|
|
if i <= #chapterList then
|
|
self.chapterTxs[i]:setActive(true)
|
|
else
|
|
self.chapterTxs[i]:setActive(false)
|
|
end
|
|
self.chapterTxs[i]:addClickListener(function()
|
|
if self.chapterStage == i then
|
|
return
|
|
end
|
|
self.chapterStage = i
|
|
self:onRefresh()
|
|
end)
|
|
end
|
|
uiMap["chapter_box_ui.bg.bg1"]:setSizeDeltaX(#chapterList * 118)
|
|
uiMap["chapter_box_ui.bg.bg1.tx_node"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout()
|
|
|
|
self.scrollRect = uiMap["chapter_box_ui.bg.scrollrect"]
|
|
self.scrollRectComp = self.scrollRect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.scrollRectComp:addInitCallback(function()
|
|
return "app/ui/main_city/cell/chapter_box_cell"
|
|
end)
|
|
self.scrollRectComp:addRefreshCallback(function(index, cell)
|
|
cell:refresh(self.chapterId, index)
|
|
end)
|
|
self.scrollRectComp:setTotalCount(0)
|
|
|
|
self:bind(DataManager.ChapterData, "isDirty", function()
|
|
self:onRefresh()
|
|
end)
|
|
end
|
|
|
|
function ChapterBoxUI:onRefresh()
|
|
self.chapterId = DataManager.ChapterData:getChapterCfgByPageAndStage(self.chapterPage, self.chapterStage)
|
|
for i = 1, 5 do
|
|
self.chapterTxs[i]:setText(self.chapterPage .. "-" .. i)
|
|
end
|
|
self.selImg:setAnchoredPositionX((self.chapterStage - 0.5) * 118)
|
|
local list = DataManager.ChapterData:getChapterBoxRewardList(self.chapterId)
|
|
self.scrollRectComp:refillCells(#list)
|
|
|
|
self.maxWaveTx:setText(I18N:getGlobalText(I18N.GlobalConst.CHAPTER_DESC_1, DataManager.ChapterData:getChapterMaxWave(self.chapterId)))
|
|
end
|
|
|
|
return ChapterBoxUI |