---@class WB_SelectWeaponItems_C:UUserWidget ---@field Button_Item UButton ---@field VerticalBox_Weapons UVerticalBox ---@field WidgetSwitcher_IsSelect UWidgetSwitcher --Edit Below-- ---@type WB_SelectWeaponItems_C local WB_SelectWeaponItems = { bInitDoOnce = false; }; function WB_SelectWeaponItems:Construct() self:LuaInit(); end function WB_SelectWeaponItems:LuaInit() if self.bInitDoOnce then return; end self.Button_Item.OnClicked:Add(self.OnClickItem, self) UITool.HideAllChildren(self.VerticalBox_Weapons); UITool.EnableButtonScroll(self.Button_Item); self.bInitDoOnc = true; end WB_SelectWeaponItems.Owner = nil; WB_SelectWeaponItems.Func = nil; function WB_SelectWeaponItems:Init(InOwner, InFunc) self.Owner = InOwner; self.Func = InFunc; self:LuaInit(); end WB_SelectWeaponItems.ItemIds = {}; function WB_SelectWeaponItems:SetItemId(InItemIds) -- 两个都隐藏 self.ItemIds = InItemIds; UITool.HideAllChildren(self.VerticalBox_Weapons); if type(InItemIds) == 'table' then for i = 1, table.getCount(InItemIds) do local Item = self.VerticalBox_Weapons:GetChildAt(i - 1); Item:SetItemId(InItemIds[i]); Item:SetVisibility(ESlateVisibility.HitTestInvisible); end elseif type(InItemIds) == 'number' then local Item = self.VerticalBox_Weapons:GetChildAt(0) Item:SetItemId(InItemIds); Item:SetVisibility(ESlateVisibility.HitTestInvisible); end end function WB_SelectWeaponItems:OnClickItem() -- 直接发送过去 self.Func(self.Owner, self); end function WB_SelectWeaponItems:GetItemIds() return self.ItemIds; end WB_SelectWeaponItems.IsSelect = false; function WB_SelectWeaponItems:SetSelect(IsSelect) self.IsSelect = IsSelect; self.WidgetSwitcher_IsSelect:SetActiveWidgetIndex(IsSelect and 1 or 0); --self.Button_Item:SetIsEnabled(false); end function WB_SelectWeaponItems:GetIsSelect() return self.IsSelect; end -- function WB_SelectWeaponItems:Tick(MyGeometry, InDeltaTime) -- end -- function WB_SelectWeaponItems:Destruct() -- end return WB_SelectWeaponItems;