2025-01-04 23:00:19 +08:00

103 lines
2.8 KiB
Lua

---@class WB_SaveWeaponItem_C:UUserWidget
---@field CanvasPanel_WeaponInfo UCanvasPanel
---@field HorizontalBox_Part UHorizontalBox
---@field Image_IsSelect UImage
---@field Image_WeaponIcon UImage
---@field NewButton_Select UNewButton
---@field TextBlock_WeaponName UTextBlock
--Edit Below--
local WB_SaveWeaponItem = { bInitDoOnce = false; };
--[==[ Construct
function WB_SaveWeaponItem:Construct()
end
-- Construct ]==]
-- function WB_SaveWeaponItem:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_SaveWeaponItem:Destruct()
-- end
function WB_SaveWeaponItem:LuaInit()
if self.bInitDoOnce then
return;
end
self.bInitDoOnce = true;
WidgetLibrary.BindButtonClicked(self.NewButton_Select, self.ClickSelect, self)
end
function WB_SaveWeaponItem:SetIndex(InIndex)
self.Index = InIndex
self:LuaInit()
end
function WB_SaveWeaponItem:GetIndex()
return self.Index
end
function WB_SaveWeaponItem:BindClickSelect(Func, Obj)
self.SelectCallBackFunc = Func
self.SelectCallBackObj = Obj
end
function WB_SaveWeaponItem:ClickSelect()
-- UGCLogSystem.Log("[WB_BuffSelectItem_ClickSelect]")
if self.SelectCallBackFunc then
if self.SelectCallBackObj then
self.SelectCallBackFunc(self.SelectCallBackObj, self:GetIndex())
else
self.SelectCallBackFunc(self:GetIndex())
end
end
end
function WB_SaveWeaponItem:SetSelect(IsSelect)
if IsSelect then
self.Image_IsSelect:SetVisibility(ESlateVisibility.HitTestInvisible);
else
self.Image_IsSelect:SetVisibility(ESlateVisibility.Collapsed);
end
end
function WB_SaveWeaponItem:GetWeaponID()
return self.WeaponID
end
function WB_SaveWeaponItem:SetWeaponID(WeaponID)
self.WeaponID = WeaponID
local Parts = WeaponTable.RecommendedWeaponParts[WeaponID]
if Parts then
for i = 1, self.HorizontalBox_Part:GetChildrenCount() do
local Item = self.HorizontalBox_Part:GetChildAt(i - 1)
if Parts[i] then
Item:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
Item:SetItemID(Parts[i])
else
Item:SetVisibility(ESlateVisibility.Collapsed)
end
end
end
local ItemInfo = UGCItemSystem.GetItemData(self.WeaponID);
if ItemInfo then
UGCSystemLibrary.AsyncLoadAsset(ItemInfo.ItemBigIcon_n,
function(Tex)
self.Image_WeaponIcon:SetBrushFromTexture(Tex);
end , nil
,true)
self.TextBlock_WeaponName:SetText(ItemInfo.ItemName)
end
end
function WB_SaveWeaponItem:SetVisWeaponInfo(IsVis)
if IsVis then
self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.HitTestInvisible)
else
self.CanvasPanel_WeaponInfo:SetVisibility(ESlateVisibility.Hidden)
end
end
return WB_SaveWeaponItem;