UGCProjects/GZJ/Script/UI/Narration/WBP_CrystalNarration.lua
2025-01-08 22:46:12 +08:00

44 lines
1.4 KiB
Lua

---@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;