---@class WB_Backpack_Item1_C:UUserWidget ---@field Button_Item UNewButton ---@field Image_5 UImage ---@field Image_Select UImage ---@field VerticalBox_Weapons UVerticalBox ---@field WidgetSwitcher_IsSelect UWidgetSwitcher --Edit Below-- local WB_Backpack_Item1 = { bInitDoOnce = false; }; WB_Backpack_Item1.Weapons = {}; WB_Backpack_Item1.ParentWidget = nil; WB_Backpack_Item1.OnClickFunc = nil; function WB_Backpack_Item1:Construct() self.Button_Item:SetTouchMethod(EButtonTouchMethod.PreciseTap); UITool.BindButtonClicked(self.Button_Item, self.OnClickItem, self) UITool.EnableButtonScroll(self.Button_Item); if not table.isEmpty(self.Weapons) then self:SetWeaponIds() end self.bInitDoOnce = true; end -- function WB_Backpack_Item1:Tick(MyGeometry, InDeltaTime) -- end -- function WB_Backpack_Item1:Destruct() -- end function WB_Backpack_Item1:SetParent(InParent, InFunc) self.ParentWidget = InParent; self.OnClickFunc = InFunc; end ---@param InWeapons table 武器ID function WB_Backpack_Item1:SetWeaponIds(InWeapons) self.Weapons = {}; for i, v in pairs(InWeapons) do self.Weapons[i] = v; end for i = 1, UITool.GetChildrenCount(self.VerticalBox_Weapons) do local Item = self.VerticalBox_Weapons:GetChildAt(i - 1); if InWeapons[i] == nil then Item:SetVisibility(ESlateVisibility.Hidden); else Item:SetVisibility(ESlateVisibility.Visible); Item:SetWeaponId(InWeapons[i]); end end end function WB_Backpack_Item1:SetIsSelect(IsSelect) self.WidgetSwitcher_IsSelect:SetActiveWidgetIndex(IsSelect and 1 or 0) -- UGCLogSystem.Log("[WB_Backpack_Item1_SetIsSelect] IsSelect:%s", tostring(IsSelect)) if IsSelect then -- self.Image_Select:SetVisibility(ESlateVisibility.Visible); self.WidgetSwitcher_IsSelect:SetActiveWidgetIndex(1) else -- self.Image_Select:SetVisibility(ESlateVisibility.Hidden); self.WidgetSwitcher_IsSelect:SetActiveWidgetIndex(0) end end function WB_Backpack_Item1:OnClickItem() if self.OnClickFunc then self.OnClickFunc(self.ParentWidget, self); end --SoundSystem.PlaySound(SoundSystem.ESound.Click); end ---@type WB_Backpack_Item1_C return WB_Backpack_Item1;