57 lines
2.1 KiB
Lua
57 lines
2.1 KiB
Lua
|
---@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;
|