---@class WB_ReselectWeaponBtn_C:UUserWidget ---@field Button_ReselectWeapon UButton ---@field Image_CD UImage --Edit Below-- local WB_ReselectWeaponBtn = { bInitDoOnce = false; StartShowTime = -10; ShowTime = 6; bIsShowing = false; }; function WB_ReselectWeaponBtn:Construct() WidgetLibrary.BindButtonClicked(self.Button_ReselectWeapon, self.ClickBtn, self) end function WB_ReselectWeaponBtn:Tick(MyGeometry, InDeltaTime) if self.bIsShowing then self:UpdateCooling() end end -- function WB_ReselectWeaponBtn:Destruct() -- end function WB_ReselectWeaponBtn:OnShowPanel() UGCLogSystem.Log("[WB_ReselectWeaponBtn_OnShowPanel]") self:ShowBtn() end function WB_ReselectWeaponBtn:ShowBtn() self.StartShowTime = UGCSystemLibrary.GetGameTime() self.bIsShowing = true end function WB_ReselectWeaponBtn:CloseBtn() self.bIsShowing = false WidgetManager:ClosePanel(WidgetConfig.EUIType.ReselectWeaponBtn) end function WB_ReselectWeaponBtn:UpdateCooling() local NowTime = UGCSystemLibrary.GetGameTime() if NowTime - self.StartShowTime > self.ShowTime then self:CloseBtn() end local Material = self.Image_CD:GetDynamicMaterial(); local Percent = 1 - (NowTime - self.StartShowTime) / self.ShowTime Material:SetScalarParameterValue("Mask_Percent", Percent); -- UGCLogSystem.Log("[WB_ReselectWeaponBtn_UpdateCooling] " 1 - (NowTime - self.StartShowTime) / self.ShowTime) end function WB_ReselectWeaponBtn:ClickBtn() self:CloseBtn() WidgetManager:ShowPanel(WidgetConfig.EUIType.WeaponSelect) end return WB_ReselectWeaponBtn;