c1_lua/lua/app/ui/main_city/component/dungeon_comp.lua
2023-06-13 16:16:18 +08:00

53 lines
1.5 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:getEntranceIcon()
return GConst.ATLAS_PATH.MAIN,"main_dec_2"
end
function DungeonComp:getEntranceBg()
return GConst.ATLAS_PATH.MAIN,"main_btn_ringt"
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:clearCells()
self.scrollRectComp:setTotalCount(0)
self:refreshShow()
end
function DungeonComp:refreshShow()
self.openDungeons = DataManager.DungeonData:getOpenDungeons()
if self.scrollRectComp:getTotalCount() ~= #self.openDungeons then
self.scrollRectComp:clearCells()
self.scrollRectComp:refillCells(#self.openDungeons)
else
self.scrollRectComp:updateAllCell()
end
end
return DungeonComp