UGCProjects/SoloKing/Script/UI/SelectWeapons/WB_ReselectWeaponBtn.lua

67 lines
1.8 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--
---@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);
--WidgetManager:ClosePanel(WidgetConfig.EUIType.ShowCustomSelectWeaponBtn)
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;