PGRData/Script/matrix/xui/xuitrpg/XUiGridTRPGRoleTalent.lua

45 lines
No EOL
1.3 KiB
Lua

local ICON_NUM = 3
local handler = handler
local XUiGridTRPGRoleTalent = XClass(nil, "XUiGridTRPGRoleTalent")
function XUiGridTRPGRoleTalent:Ctor(ui, clickCb)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.ClickCb = clickCb
XTool.InitUiObject(self)
self.BtnClick.CallBack = handler(self, self.OnClickBtnClick)
self.PanelSelect2 = self.Transform:FindTransform("PanelSelect2")
end
function XUiGridTRPGRoleTalent:Refresh(roleId, talentId)
self.RoleId = roleId
self.TalentId = talentId
local icon = XTRPGConfigs.GetRoleTalentIcon(roleId, talentId)
for i = 1, ICON_NUM do
self["RImgTalentIcon" .. i]:SetRawImage(icon)
end
local isActive = XDataCenter.TRPGManager.IsRoleTalentActive(roleId, talentId)
local canActive = XDataCenter.TRPGManager.IsRoleTalentCanActive(roleId, talentId)
self.PanelSelect.gameObject:SetActiveEx(isActive)
self.PanelLock.gameObject:SetActiveEx(not canActive)
self.PanelNormal.gameObject:SetActiveEx(not isActive and canActive)
end
function XUiGridTRPGRoleTalent:OnClickBtnClick()
if self.ClickCb then
self.ClickCb(self.RoleId, self.TalentId)
end
end
function XUiGridTRPGRoleTalent:SetSelect(value)
if self.PanelSelect2 then
self.PanelSelect2.gameObject:SetActiveEx(value)
end
end
return XUiGridTRPGRoleTalent