c1_lua/lua/app/ui/common/cell/large_hero_cell.lua
2023-04-12 22:11:46 +08:00

68 lines
1.9 KiB
Lua

local LargeHeroCell = class("LargeHeroCell", BaseCell)
function LargeHeroCell:init()
local uiMap = self.baseObject:genAllChildren()
self.icon = uiMap["hero_cell.hero_bg.icon"]
self.heroBg = uiMap["hero_cell.hero_bg"]
self.check = uiMap["hero_cell.hero_bg.mask"]
self.matchImg = uiMap["hero_cell.hero_bg.match_img"]
self.isGray = false
uiMap["large_hero_cell.hero_bg.info_btn"]:addClickListener(function()
if self.clickCallback1 then
self.clickCallback1()
end
end)
uiMap["large_hero_cell.hero_bg.use_btn"]:addClickListener(function()
if self.clickCallback1 then
self.clickCallback1()
end
end)
end
function LargeHeroCell:refresh(heroEntity, isGray)
local heroInfo = heroEntity:getConfig()
self:_refresh(heroInfo, isGray)
end
function LargeHeroCell:refreshWithCfgId(id, isGray)
local heroInfo = ConfigManager:getConfig("hero")[id]
self:_refresh(heroInfo, isGray)
end
function LargeHeroCell:_refresh(heroInfo, isGray)
if isGray then
self.heroBg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HERO_FRAME_GRAY_QLT[heroInfo.qlt])
else
self.heroBg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HERO_FRAME_QLT[heroInfo.qlt])
end
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, tostring(heroInfo.icon))
self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HeroConst.MATCH_ICON_NAME[heroInfo.position])
self.check:setVisible(false)
self:setGray(isGray)
end
function LargeHeroCell:showCheck(visible)
self.check:setVisible(visible)
end
function LargeHeroCell:addClickListener(btn1Callback, btn2Callback)
self.clickCallback1 = btn1Callback
self.clickCallback2 = btn2Callback
end
function LargeHeroCell:setVisible(visible)
self.baseObject:setVisible(visible)
end
function LargeHeroCell:setGray(isGray)
if self.isGray == isGray then
return
end
self.icon:setImageGray(isGray)
self.matchImg:setImageGray(isGray)
end
return LargeHeroCell