---@class WB_ReselectWeaponBtn_C:UUserWidget ---@field Button_ReselectWeapon UButton ---@field Image_CD UImage ---@field Image_CD_ClassicMode UImage ---@field WidgetSwitcher_ClassicMode UWidgetSwitcher --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) -- 在这里修改 检查一下这里判断模式的方式是否正确 UGCEventSystem.AddListener(EventTypes.UpdateModeType, self.SetIsGangUpMode, self); self:SetIsGangUpMode(GlobalModeType) 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); local Material_ClassicMode = self.Image_CD_ClassicMode:GetDynamicMaterial(); local Percent_ClassicMode = 1 - (NowTime - self.StartShowTime) / self.ShowTime Material_ClassicMode:SetScalarParameterValue("Mask_Percent", Percent_ClassicMode); -- UGCLogSystem.Log("[WB_ReselectWeaponBtn_UpdateCooling] " 1 - (NowTime - self.StartShowTime) / self.ShowTime) end function WB_ReselectWeaponBtn:ClickBtn() self:CloseBtn() if GlobalModeType == GameModeConfig.EGameModeType.DefaultMode then WidgetManager:ShowPanel(WidgetConfig.EUIType.WeaponConfiguration) else WidgetManager:ShowPanel(WidgetConfig.EUIType.SelectWeaponNew) end end function WB_ReselectWeaponBtn:SetIsGangUpMode(ModeType) self.WidgetSwitcher_ClassicMode:SetActiveWidgetIndex(ModeType == GameModeConfig.EGameModeType.DefaultMode and 1 or 0); end return WB_ReselectWeaponBtn;