Files
GTG-VoiceRange/scripts/Game/VON/SCR_VoiceRangeDisplay.c
2026-03-13 13:27:47 +01:00

56 lines
1.1 KiB
C

class SCR_VoiceRangeDisplay: SCR_InfoDisplay{
protected TextWidget m_wRangeText;
protected SCR_FadeUIComponent m_FadeComponent;
protected override event void OnStartDraw(IEntity owner)
{
super.OnStartDraw(owner);
if (!m_wRoot)
{
m_wRoot = GetGame().GetWorkspace().CreateWidgets("{52CB3045C167E6D8}UI/layouts/VoiceRange/VoiceRangeDynamicNumber.layout");
if (!m_wRoot){
return;
}
}
m_wRangeText = TextWidget.Cast(m_wRoot.FindAnyWidget("RangeText"));
if (!m_wRangeText){
return;
}
m_FadeComponent = SCR_FadeUIComponent.Cast(m_wRangeText.FindHandler(SCR_FadeUIComponent));
m_wRangeText.SetVisible(false);
}
void UpdateRangeText(int range)
{
if (!m_wRangeText){
return;
}
m_wRangeText.SetText(range.ToString() + "m");
m_wRangeText.SetVisible(true);
if (m_FadeComponent)
{
m_FadeComponent.FadeIn(true);
}
GetGame().GetCallqueue().Remove(StartFadeOut);
GetGame().GetCallqueue().CallLater(StartFadeOut, 3000, false);
}
protected void StartFadeOut()
{
if (m_FadeComponent)
{
m_FadeComponent.FadeOut(false);
}
else if (m_wRangeText)
{
m_wRangeText.SetVisible(false);
}
}
}