UGCProjects/LineOfDefense/Script/UI/SelectWeapon/WB_ReselectWeaponBtn.lua

60 lines
1.6 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
---@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;