---@class WB_WeaponItem_C:UUserWidget ---@field HorizontalBox_Part UHorizontalBox ---@field Image_Select UImage ---@field Image_WeaponIcon UImage ---@field NewButton_Item UNewButton ---@field TextBlock_WeaponName UTextBlock --Edit Below-- ---@type WB_WeaponItem_C local WB_WeaponItem = { bInitDoOnce = false } function WB_WeaponItem:Construct() self:LuaInit(); end function WB_WeaponItem:LuaInit() if self.bInitDoOnce then return ; end self.bInitDoOnce = true; UITool.EnableButtonScroll(self.NewButton_Item); UITool.BindButtonClicked(self.NewButton_Item, self.OnClickItem, self) end function WB_WeaponItem:OnClickItem() if self.Func and self.OwnerWid then self.Func(self.OwnerWid, self.ItemID, self); end end function WB_WeaponItem:GetItemID() return self.ItemID; end function WB_WeaponItem:Init(Owner, Func) self.OwnerWid = Owner; self.Func = Func; self:LuaInit(); end WB_WeaponItem.ItemID = nil; WB_WeaponItem.OwnerWid = nil; WB_WeaponItem.Func = nil; function WB_WeaponItem:SetItemID(ItemID) self.ItemID = ItemID; local Info = UGCItemSystem.GetItemData(ItemID) if Info then self.TextBlock_WeaponName:SetText(Info.ItemName); UE.AsyncLoadObject_Cached(Info.ItemBigIcon_n, function(TargetObject) self.Image_WeaponIcon:SetBrushFromTexture(TargetObject); end); end -- 设置子类 UITool.HideAllChildren(self.HorizontalBox_Part); if table.isEmpty(WeaponSuits[InItemId]) then return ; end local Best = WeaponSuits[InItemId][EWeaponPartType.Best]; if table.isEmpty(Best) then return ; end UITool.AdaptChildren(self.HorizontalBox_Part, table.getCount(Best[1])); for i = 1, table.getCount(Best[1]) do local Item = self.HorizontalBox_Part:GetChildAt(i - 1) Item:SetItemId(Best[1][i]); Item:SetVisibility(ESlateVisibility.HitTestInvisible); end end function WB_WeaponItem:SetSelect(IsSelect) if IsSelect then self.Image_Select:SetVisibility(ESlateVisibility.SelfHitTestInvisible) else self.Image_Select:SetVisibility(ESlateVisibility.Collapsed); end end -- function WB_WeaponItem:Tick(MyGeometry, InDeltaTime) -- end -- function WB_WeaponItem:Destruct() -- end return WB_WeaponItem