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]) 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 SchedulerManager:unscheduleGlobal(self.countdownSid) self.countdownSid = nil end self.countdownSid = self:getBaseObject():scheduleGlobal(function() ModuleManager.DungeonManager:checkDayChange() end, Time:getTodaySurplusTime() + 1) end return DungeonComp