c1_lua/lua/app/ui/hero/cell/skin_cell.lua
2023-08-09 14:16:27 +08:00

39 lines
1.2 KiB
Lua

local SkinCell = class("SkinCell", BaseCell)
function SkinCell:init()
local uiMap = self:getUIMap()
self.spineRoot = uiMap["skin_cell.spine_root.spine_hero"]
self.bgQlt = uiMap["skin_cell.bg_qlt"]
self.imgQlt = uiMap["skin_cell.bg_qlt.img_qlt"]
self.select = uiMap["skin_cell.select"]
self.imgS = uiMap["skin_cell.img_s"]
self:addClickListener(function()
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.SKIN_SELECT, self.skinId)
end)
end
function SkinCell:refresh(id, isSelect)
self.skinId = id
local cfg = DataManager.SkinData:getSkinCfg(self.skinId)
SpineManager:loadHeroAsync(DataManager.SkinData:getModelId(self.skinId), self.spineRoot, function(spineObject)
if self.spineHero then
self.spineHero:destroy()
self.spineHero = nil
end
spineObject:setDefaultMix(0)
self.spineHero = spineObject
end)
local qlt = cfg.qlt
self.imgS:setActive(qlt >= 4)
self.select:setActive(isSelect)
self.baseObject:setSprite(GConst.ATLAS_PATH.HERO, "hero_skin_frame_".. qlt .. "_1")
self.bgQlt:setSprite(GConst.ATLAS_PATH.HERO, "hero_frame_bg_".. qlt)
self.imgQlt:setSprite(GConst.ATLAS_PATH.HERO, "hero_skin_" .. qlt)
end
return SkinCell