---@class WB_ReselectWeaponBtn_C:UUserWidget ---@field Button_ReselectWeapon UButton ---@field Image_CD UImage --Edit Below-- ---@type WB_ReselectWeaponBtn_C local WB_ReselectWeaponBtn = { bInitDoOnce = false; StartShowTime = -10; ShowTime = 10; bIsShowing = false; }; function WB_ReselectWeaponBtn:LuaInit() if self.bInitDoOnce then return ; end self.bInitDoOnce = true; UITool.BindButtonClicked(self.Button_ReselectWeapon, self.ClickBtn, self) end function WB_ReselectWeaponBtn:OnTick() if self.bIsShowing then self:UpdateCooling() end end --function WB_ReselectWeaponBtn:Tick(MyGeometry, InDeltaTime) -- --end -- function WB_ReselectWeaponBtn:Destruct() -- end function WB_ReselectWeaponBtn:OnShowPanel() UGCLogSystem.Log("[WB_ReselectWeaponBtn_OnShowPanel]") self:ShowBtn() end function WB_ReselectWeaponBtn:ShowBtn() self.StartShowTime = KismetSystemLibrary.GetGameTimeInSeconds(UGCGameSystem.GameState) self.bIsShowing = true end function WB_ReselectWeaponBtn:CloseBtn() self.bIsShowing = false self:SetVisibility(ESlateVisibility.Collapsed); end function WB_ReselectWeaponBtn:UpdateCooling() local NowTime = KismetSystemLibrary.GetGameTimeInSeconds(UGCGameSystem.GameState) 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.SelectWeaponNew) end return WB_ReselectWeaponBtn;