UGCProjects/SoldierWar/Script/UI/SelectWeapons/Child/WB_SelectWeaponItems.lua
2025-01-04 23:00:19 +08:00

77 lines
2.0 KiB
Lua

---@class WB_SelectWeaponItems_C:UUserWidget
---@field Button_Item UNewButton
---@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
UITool.BindButtonClicked(self.Button_Item, self.OnClickItem, self);
UITool.HideAllChildren(self.VerticalBox_Weapons);
UITool.EnableButtonScroll(self.Button_Item);
self:SetSelect(false);
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.ItemId = {};
function WB_SelectWeaponItems:SetItemId(InItemId)
-- 两个都隐藏
self.ItemId = InItemId;
UITool.HideAllChildren(self.VerticalBox_Weapons);
if type(InItemId) == 'table' then
for i = 1, table.getCount(InItemId) do
local Item = self.VerticalBox_Weapons:GetChildAt(i - 1);
Item:SetItemId(InItemId[i]);
Item:SetVisibility(ESlateVisibility.HitTestInvisible);
end
elseif type(InItemId) == 'number' then
local Item = self.VerticalBox_Weapons:GetChildAt(0)
Item:SetItemId(InItemId);
Item:SetVisibility(ESlateVisibility.HitTestInvisible);
end
end
function WB_SelectWeaponItems:OnClickItem()
-- 直接发送过去
if self.Func and self.Owner then
self.Func(self.Owner, self);
end
end
function WB_SelectWeaponItems:GetItemId() return self.ItemId; end
WB_SelectWeaponItems.IsSelect = false;
function WB_SelectWeaponItems:SetSelect(IsSelect)
self.IsSelect = IsSelect;
self.WidgetSwitcher_IsSelect:SetActiveWidgetIndex(IsSelect and 1 or 0);
end
function WB_SelectWeaponItems:GetIsSelect() return self.IsSelect; end
-- function WB_SelectWeaponItems:Tick(MyGeometry, InDeltaTime)
-- end
-- function WB_SelectWeaponItems:Destruct()
-- end
return WB_SelectWeaponItems;