Files
GTG-VoiceRange/scripts/Game/VON/SCR_VoiceRangeDisplay.c
2026-03-12 18:34:16 +01:00

42 lines
1.3 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("68D6F5422C10ACFC/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);
}
}
}