---@class WBP_Skill_Item_C:UUserWidget ---@field Button_Select UNewButton ---@field Image_Skill_Icon UImage ---@field TextBlock_SkillDesc UTextBlock ---@field TextBlock_SkillName UTextBlock ---@field TextBlock_SkillShortDesc UTextBlock --Edit Below-- local WBP_Skill_Item = { bInitDoOnce = false, BindedSkillName = nil, ParentPanel = nil, }; function WBP_Skill_Item:Construct() self.Button_Select:SetVisibility(ESlateVisibility.SelfHitTestInvisible) self.Button_Select.OnClicked:Add(WBP_Skill_Item.OnSelectButtonClicked, self) self.Button_Select:SetTouchMethod(EButtonTouchMethod.PreciseTap) end function WBP_Skill_Item:Destruct() self.BindedSkillName = nil self.Button_Select.OnClicked:Remove(WBP_Skill_Item.OnSelectButtonClicked, self) end function WBP_Skill_Item:Init(SkillAccessType, SkillName) self.BindedSkillAccessType = SkillAccessType self.BindedSkillName = SkillName self.TextBlock_SkillName:SetText(GameDataManager.GetSkillNameStrByName(SkillName)) self.TextBlock_SkillDesc:SetText(GameDataManager.GetSkillDescByName(SkillName)) if self.BindedSkillAccessType == ESkillAccessType.Talented then self.TextBlock_SkillShortDesc:SetVisibility(ESlateVisibility.SelfHitTestInvisible) self.TextBlock_SkillShortDesc:SetText(GameDataManager.GetTalentSkillShortDescByName(SkillName)) else self.TextBlock_SkillShortDesc:SetVisibility(ESlateVisibility.Collapsed) end UIManager.LoadTexture(self.Image_Skill_Icon, GameDataManager.GetSkillIconPathByName(SkillName)) self.Button_Select:SetVisibility(ESlateVisibility.Visible) end function WBP_Skill_Item:OnSelectButtonClicked() if self.BindedSkillName == nil then return end if self.ParentPanel then self.ParentPanel:OnSelectionChanged() end UIManager:GetPanel(EUIType.SelectSkill):SetSelectItem(self.BindedSkillName) local PC = STExtraGameplayStatics.GetFirstPlayerController(self) UnrealNetwork.CallUnrealRPC(PC, PC, "ServerRPC_GiveSkill", self.BindedSkillName, nil, nil) NewPlayerGuideManager:RemoveGuide(3) end return WBP_Skill_Item;