60 lines
1.9 KiB
Lua
60 lines
1.9 KiB
Lua
---@class WBP_SelectSkillItem_C:UUserWidget
|
||
---@field Button_Main UButton
|
||
---@field IconAndBG UWBP_WeaponItemFitting_C
|
||
---@field TextBlock_SkillName UTextBlock
|
||
---@field SlotNum int32
|
||
--Edit Below--
|
||
local WBP_SelectSkillItem = {
|
||
bInitDoOnce = false;
|
||
SkillItemID = 0;
|
||
SkillIdToReplace = 0;
|
||
ParentWidget = nil;
|
||
};
|
||
|
||
function WBP_SelectSkillItem:Construct()
|
||
self.Button_Main.OnClicked:Add(WBP_SelectSkillItem.ClickSkill, self)
|
||
end
|
||
|
||
-- function WBP_SelectSkillItem:Tick(MyGeometry, InDeltaTime)
|
||
|
||
-- end
|
||
|
||
function WBP_SelectSkillItem:SetParentWidget(InWidget)
|
||
self.ParentWidget = InWidget
|
||
end
|
||
|
||
function WBP_SelectSkillItem:SetSlotNum(InNum)
|
||
self.SlotNum = InNum
|
||
end
|
||
|
||
function WBP_SelectSkillItem:Destruct()
|
||
self.Button_Main.OnClicked:Remove(WBP_SelectSkillItem.ClickSkill, self)
|
||
end
|
||
|
||
function WBP_SelectSkillItem:ClickSkill()
|
||
if self.SkillIdToReplace ~= 0 then
|
||
-- 调用 PlayerController 中的方法进行更换
|
||
local PC = GameDataManager.GetLocalPlayerController()
|
||
print(string.format('[WBP_SelectSkillItem:ClickSkill] 选择Skill:%d', self.SkillIdToReplace))
|
||
UnrealNetwork.CallUnrealRPC(PC, PC, "ServerRPC_GiveSkill", GameDataManager.GetSkillNameById(self.SkillIdToReplace), self.SlotNum, GameDataManager.GetSkillLevelById(self.SkillIdToReplace))
|
||
UIManager:ClosePanel(EUIType.UseSkill)
|
||
end
|
||
end
|
||
|
||
function WBP_SelectSkillItem:SetReplaceItemId(InId)
|
||
-- 检查当前是否有
|
||
self.SkillIdToReplace = InId;
|
||
end
|
||
|
||
function WBP_SelectSkillItem:SetLastItemId(InId)
|
||
-- 显示出来对应的
|
||
-- 找到对应描述和图标
|
||
self.SkillItemID = InId
|
||
print(string.format('[WBP_SelectSkillItem:SetLastItemId] ItemId = %d', InId))
|
||
local ItemInfo = GameDataManager.GetItemInfoByItemID(InId)
|
||
self.IconAndBG:SetItemIcon(ItemInfo.Icon)
|
||
self.IconAndBG:SetItemBGColor(GetItemQualityLevel(InId))
|
||
self.TextBlock_SkillName:SetText(DropItemMap.SkillItemMap[InId].SkillName)
|
||
end
|
||
|
||
return WBP_SelectSkillItem; |