Files
Endfield-Data/LuaScripts/UI/Widgets/FriendThemeChangeThemeCell.lua
2026-01-31 21:42:01 +07:00

54 lines
1.5 KiB
Lua

local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
FriendThemeChangeThemeCell = HL.Class('FriendThemeChangeThemeCell', UIWidgetBase)
FriendThemeChangeThemeCell.m_onClick = HL.Field(HL.Function)
FriendThemeChangeThemeCell.m_id = HL.Field(HL.String) << ""
FriendThemeChangeThemeCell._OnFirstTimeInit = HL.Override() << function(self)
self.view.themeBtn.onClick:RemoveAllListeners()
self.view.themeBtn.onClick:AddListener(function()
GameInstance.player.friendSystem:ReadBusinessCardUnlockRedDot(CS.Beyond.Gameplay.FriendBusinessCardUnlockType.BusinessCardTopic, self.m_id)
if self.m_onClick then
self.m_onClick()
end
end)
end
FriendThemeChangeThemeCell.InitFriendThemeChangeThemeCell = HL.Method(Cfg.Types.BusinessCardTopicData, HL.Function, HL.Boolean, HL.Boolean) << function(self, cfg, onClick, selected, unlocked)
self:_FirstTimeInit()
self.m_onClick = onClick
self.m_id = cfg.id
self.view.themeBtnStateController:SetState(unlocked and 'Unlock' or 'Lock')
self.view.themeBtnStateController:SetState(selected and 'Select' or 'UnSelect')
self.view.themeIconImg:LoadSprite(string.format('%s/%s', UIConst.UI_SPRITE_THEME_BG, cfg.icon))
self.view.themeBgImg:LoadSprite(string.format('%s/%s', UIConst.UI_SPRITE_THEME_BG, cfg.id))
self.view.redDot:InitRedDot("NewBusinessCard", cfg.id, nil, self:GetUICtrl().view.redDotScrollRect)
end
HL.Commit(FriendThemeChangeThemeCell)
return FriendThemeChangeThemeCell