---@class WBP_CrystalNarration_C:UUserWidget ---@field TextBlock_Narration UTextBlock --Edit Below-- local WBP_CrystalNarration = { bInitDoOnce = false, VisibilityTimerHandle = nil, }; local HealthPercentNarrationTxt = { {value = 0.5, txt = "兄弟们在干啥呢?还不快来帮我嘎了这些小垃圾!"}, {value = 0.1, txt = "兄弟们使点劲啊!不然,不然我就要生气啦!"}, {value = 0.0, txt = "哎,所托非人啊!来世一定要擦亮眼睛,选好良人托付!"}, } function WBP_CrystalNarration:Construct() self:SetVisibility(ESlateVisibility.Collapsed) end function WBP_CrystalNarration:UpdateOwnerHealthPercent(Percent) for i, v in pairs(HealthPercentNarrationTxt) do if math.isNearlyEqual(Percent, v.value, 0.01) then self:UpdateNarrationText(v.txt) break end end end function WBP_CrystalNarration:UpdateNarrationText(InText) self:SetVisibility(ESlateVisibility.HitTestInvisible) self.TextBlock_Narration:SetText(InText) if self.VisibilityTimerHandle ~= nil then EventSystem.StopTimer(self.VisibilityTimerHandle) end self:SetupTimer() end function WBP_CrystalNarration:SetupTimer() self.VisibilityTimerHandle = EventSystem.SetTimer(self, function() self:SetVisibility(ESlateVisibility.Collapsed) end, 3) end return WBP_CrystalNarration;