2025-01-04 23:00:19 +08:00

77 lines
2.1 KiB
Lua

---@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<int32> 武器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;