56 lines
1.1 KiB
C
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);
|
|
}
|
|
}
|
|
} |