82 lines
2.2 KiB
Lua
82 lines
2.2 KiB
Lua
|
---@class WB_SelectWeaponItem_C:UUserWidget
|
||
|
---@field Button_Item UNewButton
|
||
|
---@field VerticalBox_Weapons UVerticalBox
|
||
|
---@field WidgetSwitcher_IsSelect UWidgetSwitcher
|
||
|
--Edit Below--
|
||
|
---@type WB_SelectWeaponItem_C
|
||
|
local WB_SelectWeaponItem = { bInitDoOnce = false }
|
||
|
|
||
|
WB_SelectWeaponItem.Owner = nil;
|
||
|
WB_SelectWeaponItem.Func = nil;
|
||
|
WB_SelectWeaponItem.ItemId = 0;
|
||
|
WB_SelectWeaponItem.Signal = 0;
|
||
|
WB_SelectWeaponItem.IsSelect = false;
|
||
|
|
||
|
function WB_SelectWeaponItem:Construct()
|
||
|
self:LuaInit();
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponItem: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
|
||
|
|
||
|
function WB_SelectWeaponItem:Init(InOwner, InFunc, Signal)
|
||
|
self.Owner = InOwner;
|
||
|
self.Func = InFunc;
|
||
|
self.Signal = Signal;
|
||
|
self:LuaInit();
|
||
|
end
|
||
|
|
||
|
--- 设置 ItemId
|
||
|
---@param InItemId int32
|
||
|
function WB_SelectWeaponItem:SetItemId(InItemId)
|
||
|
self.ItemId = InItemId;
|
||
|
UITool.HideAllChildren(self.VerticalBox_Weapons);
|
||
|
if type(InItemId) == 'table' then
|
||
|
UITool.ForeachAllChildren(self.VerticalBox_Weapons, function(index, Widget)
|
||
|
if InItemId[index] then
|
||
|
Widget:SetItemId(InItemId[index]);
|
||
|
Widget:SetVisibility(ESlateVisibility.HitTestInvisible);
|
||
|
else
|
||
|
Widget:SetVisibility(ESlateVisibility.Collapsed);
|
||
|
end
|
||
|
end)
|
||
|
elseif type(InItemId) == 'number' then
|
||
|
local Widget = self.VerticalBox_Weapons:GetChildAt(0);
|
||
|
Widget:SetItemId(InItemId);
|
||
|
Widget:SetVisibility(ESlateVisibility.HitTestInvisible);
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponItem:OnClickItem()
|
||
|
if self.Func and self.Owner then
|
||
|
self.Func(self.Owner, self, self.Num);
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponItem:GetItemId() return self.ItemId; end
|
||
|
|
||
|
function WB_SelectWeaponItem:SetSelect(IsSelect)
|
||
|
self.IsSelect = IsSelect;
|
||
|
self.WidgetSwitcher_IsSelect:SetActiveWidgetIndex(IsSelect and 1 or 0);
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponItem:GetIsSelect() return self.IsSelect; end
|
||
|
|
||
|
function WB_SelectWeaponItem:GetSignal()
|
||
|
return self.Signal;
|
||
|
end
|
||
|
|
||
|
-- function WB_SelectWeaponItem:Tick(MyGeometry, InDeltaTime)
|
||
|
|
||
|
-- end
|
||
|
|
||
|
-- function WB_SelectWeaponItem:Destruct()
|
||
|
|
||
|
-- end
|
||
|
|
||
|
return WB_SelectWeaponItem;
|