---@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;