44 lines
1.4 KiB
Lua
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; |