Files
Endfield-Data/LuaScripts/UI/Widgets/BusinessCardRegionalNode.lua
2025-12-02 20:37:18 +07:00

62 lines
1.6 KiB
Lua

local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
BusinessCardRegionalNode = HL.Class('RegionalNode', UIWidgetBase)
BusinessCardRegionalNode._OnFirstTimeInit = HL.Override() << function(self)
end
BusinessCardRegionalNode.InitBusinessCardRegionalNodeByRoleId = HL.Method(HL.Number) << function(self, roleId)
self:_FirstTimeInit()
local _, friendInfo = GameInstance.player.friendSystem:TryGetFriendInfo(roleId)
self:InitBusinessCardRegionalNode(friendInfo.domainInfos)
end
BusinessCardRegionalNode.InitBusinessCardRegionalNode = HL.Method(HL.Userdata) << function(self, domainInfos)
self:_FirstTimeInit()
if domainInfos == nil then
return
end
if not Utils.isSystemUnlocked(GEnums.UnlockSystemType.DomainDevelopment) then
for i = 1, self.config.DOMAIN_COUNT do
self.view['domain_' .. i].gameObject:SetActiveIfNecessary(false)
end
return
end
for i = 1, self.config.DOMAIN_COUNT do
self.view['domain_' .. i].gameObject:SetActiveIfNecessary(i <= domainInfos.Count)
end
for i = 1, domainInfos.Count do
local domainInfo = domainInfos[i - 1]
self.view[domainInfo.DomainId..'_text'].text = domainInfo.Level
local domainCfg = Tables.domainDataTable:GetValue(domainInfo.DomainId)
self.view[domainInfo.DomainId..'_nameText'].text = domainCfg.domainName
self.view[domainInfo.DomainId..'_color'].color = UIUtils.getColorByString(domainCfg.domainColor)
end
end
HL.Commit(BusinessCardRegionalNode)
return BusinessCardRegionalNode