53 lines
1.6 KiB
Lua
53 lines
1.6 KiB
Lua
local MainCompBaseCell = require "app/ui/main_city/component/main_comp_base_cell"
|
|
local DungeonComp = class("DungeonComp", MainCompBaseCell)
|
|
|
|
function DungeonComp:getIsOpen()
|
|
return DataManager.DungeonData:isOpenAnyone()
|
|
end
|
|
|
|
function DungeonComp:getEntranceName()
|
|
return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_BTN)
|
|
end
|
|
|
|
function DungeonComp:getShowEntranceRedPoint()
|
|
return DataManager.DungeonData:isCanChallengeAnyone()
|
|
end
|
|
|
|
function DungeonComp:ctor()
|
|
end
|
|
|
|
function DungeonComp:init()
|
|
self.uiMap = self:getBaseObject():genAllChildren()
|
|
|
|
self.scrollRect = self.uiMap["dungeon_comp.scrollrect"]
|
|
self.scrollRectComp = self.scrollRect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.scrollRectComp:addInitCallback(function()
|
|
return "app/ui/dungeon/dungeon_board_cell"
|
|
end)
|
|
self.scrollRectComp:addRefreshCallback(function(index, cell)
|
|
cell:refresh(self.openDungeons[index].module)
|
|
end)
|
|
self.scrollRectComp:setTotalCount(0)
|
|
self:refreshShow()
|
|
end
|
|
|
|
function DungeonComp:refreshShow()
|
|
if EDITOR_MODE then
|
|
Logger.logHighlight("更新副本显示."..tostring(Time:getTodaySurplusTime()))
|
|
end
|
|
self.openDungeons = DataManager.DungeonData:getOpenDungeons()
|
|
self.scrollRectComp:clearCells()
|
|
self.scrollRectComp:refillCells(#self.openDungeons)
|
|
|
|
-- 跨天定时器
|
|
if self.countdownSid then
|
|
self:getBaseObject():unscheduleGlobal(self.countdownSid)
|
|
self.countdownSid = nil
|
|
end
|
|
self.countdownSid = self:getBaseObject():scheduleGlobal(function()
|
|
ModuleManager.DungeonManager:checkDayChange()
|
|
end, Time:getTodaySurplusTime() + 1)
|
|
|
|
end
|
|
|
|
return DungeonComp |