68 lines
1.6 KiB
Lua
68 lines
1.6 KiB
Lua
|
---@class WB_SelectWeaponButton_C:UUserWidget
|
||
|
---@field Image_Ring UImage
|
||
|
---@field NewButton_Select UNewButton
|
||
|
--Edit Below--
|
||
|
---@type WB_SelectWeaponButton_C
|
||
|
local WB_SelectWeaponButton = { bInitDoOnce = false }
|
||
|
WB_SelectWeaponButton.HideTime = 0;
|
||
|
WB_SelectWeaponButton.Material = nil;
|
||
|
|
||
|
function WB_SelectWeaponButton:Construct()
|
||
|
self:LuaInit();
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponButton:LuaInit()
|
||
|
if self.bInitDoOnce then return ; end
|
||
|
|
||
|
self:GetMaterial();
|
||
|
UITool.BindButtonClicked(self.NewButton_Select, self.OnClickSelect, self)
|
||
|
|
||
|
self.bInitDoOnce = true;
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponButton:OnShowPanel(...)
|
||
|
local vars = { ... };
|
||
|
|
||
|
local Time = vars[1];
|
||
|
self:SetHideTime(Time);
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponButton:SetHideTime(InTime)
|
||
|
self.HideTime = InTime + UE.GetServerTime();
|
||
|
self:HideSelf(false);
|
||
|
GlobalTickTool:AddTick(self, function(o, dt, st)
|
||
|
local Percent = 1 - (o.HideTime - st) / InTime;
|
||
|
o:GetMaterial():SetScalarParameterValue("Mask_Percent", Percent);
|
||
|
end, nil, nil, InTime, function(o)
|
||
|
o:HideSelf(true);
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponButton:HideSelf(IsHide)
|
||
|
if IsHide then
|
||
|
self:SetVisibility(ESlateVisibility.Collapsed);
|
||
|
else
|
||
|
self:SetVisibility(ESlateVisibility.SelfHitTestInvisible);
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponButton:GetMaterial()
|
||
|
if self.Material == nil then
|
||
|
self.Material = self.Image_Ring:GetDynamicMaterial();
|
||
|
end
|
||
|
return self.Material;
|
||
|
end
|
||
|
|
||
|
function WB_SelectWeaponButton:OnClickSelect()
|
||
|
WidgetManager:ShowPanel(WidgetConfig.EUIType.SelectWeapon, false);
|
||
|
end
|
||
|
|
||
|
-- function WB_SelectWeaponButton:Tick(MyGeometry, InDeltaTime)
|
||
|
|
||
|
-- end
|
||
|
|
||
|
-- function WB_SelectWeaponButton:Destruct()
|
||
|
|
||
|
-- end
|
||
|
|
||
|
return WB_SelectWeaponButton
|