---@class WBP_AttackWaveRemainTimeNotice_C:UUserWidget ---@field FadeOut UWidgetAnimation ---@field FadeIn UWidgetAnimation ---@field TextBlock_Minute UTextBlock ---@field TextBlock_RecommandAttackValue UTextBlock ---@field TextBlock_Second UTextBlock --Edit Below-- local NoticeBase = require('Script.UI.Notice.WBP_NoticeBase') local WBP_AttackWaveRemainTimeNotice = setmetatable( { bInitDoOnce = false, }, { __index = NoticeBase, __metatable = NoticeBase } ); local RecommandAttackValueTable = { 421, 793, 1453, 2421, 3871, 5406, 8637, 10416, 15157, 18949, 29138, 34304, } function WBP_AttackWaveRemainTimeNotice:Construct() EventSystem:AddListener(EventType.OnCurAttackWaveChanged, WBP_AttackWaveRemainTimeNotice.OnCurAttackWaveChanged, self) end function WBP_AttackWaveRemainTimeNotice:InitNoticeFromParam(InParams) if type(InParams) ~= "table" then return end local RemainTime = InParams.RemainTime if type(RemainTime) == "number" then local Min = string.format("%02d", RemainTime // 60) local Sec = string.format("%02d", RemainTime % 60) self.TextBlock_Minute:SetText(Min) self.TextBlock_Second:SetText(Sec) end end function WBP_AttackWaveRemainTimeNotice:GetEnterAnimation() return self.FadeIn end function WBP_AttackWaveRemainTimeNotice:GetExitAnimation() return self.FadeOut end function WBP_AttackWaveRemainTimeNotice:OnCurAttackWaveChanged(CurAttackWave) if CurAttackWave > 0 then local CurAttackValue = RecommandAttackValueTable[CurAttackWave] if CurAttackValue then self.TextBlock_RecommandAttackValue:SetVisibility(ESlateVisibility.SelfHitTestInvisible) self.TextBlock_RecommandAttackValue:SetText("推荐战斗力: "..tostring(math.floor(CurAttackValue))) end else self.TextBlock_RecommandAttackValue:SetVisibility(ESlateVisibility.Collapsed) end end return WBP_AttackWaveRemainTimeNotice;