43 lines
1.3 KiB
C
43 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) {
|
|
// Passe den Pfad zu deiner UI Layout-Datei an
|
|
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);
|
|
}
|
|
}
|
|
} |