---@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