103 lines
2.8 KiB
Lua
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; |