4 protected string m_sFadeImageName;
7 protected float m_bFadeImageInSpeed;
10 protected float m_bFadeImageOutSpeed;
12 [
Attribute(defvalue:
"0",
desc:
"Sets the start opacity of the image, it starts with opacity 0 if false else it starts with 1")]
13 protected bool m_bIsFadeImageVisible;
16 protected ImageWidget m_wFadeImage;
19 protected bool m_bisFading;
20 protected bool m_bIsFadingIn;
23 protected ref ScriptInvoker Event_OnFadeDone =
new ScriptInvoker;
27 override void SetProgress(
float progress)
29 super.SetProgress(progress);
33 if (m_iProgress >= m_fMaxValue && !m_bIsFadeImageVisible)
37 else if (m_iProgress < m_fMaxValue && m_bIsFadeImageVisible)
44 void InstantProgressMaxMin(
bool SetToMax)
48 SetProgress(m_fMaxValue);
49 SetFadeImageVisible(
true);
53 SetProgress(m_fMinValue);
54 SetFadeImageVisible(
false);
58 float GetMinProgress()
63 float GetMaxProgress()
68 ScriptInvoker GetOnFadeDone()
70 return Event_OnFadeDone;
73 void FadeImage(
bool fadeIn)
75 m_bIsFadeImageVisible = fadeIn;
76 m_bIsFadingIn = fadeIn;
81 GetGame().GetCallqueue().CallLater(FadeUpdate, 500,
true);
84 AnimateWidget.Opacity(m_wFadeImage, fadeIn, m_bFadeImageInSpeed);
87 protected void FadeUpdate()
91 if ((m_bIsFadingIn && m_wFadeImage.GetOpacity() >= 1) || (!m_bIsFadingIn && m_wFadeImage.GetOpacity() <= 0))
94 GetGame().GetCallqueue().Remove(FadeUpdate);
95 Event_OnFadeDone.Invoke(
this, m_bIsFadingIn);
104 ImageWidget GetFadeImage()
109 void SetFadeImageVisible(
bool setVisible)
114 GetGame().GetCallqueue().Remove(FadeUpdate);
117 AnimateWidget.StopAnimation(m_wFadeImage, WidgetAnimationOpacity);
119 m_bIsFadeImageVisible = setVisible;
122 m_wFadeImage.SetOpacity(1);
124 m_wFadeImage.SetOpacity(0);
127 override void HandlerAttached(Widget w)
132 super.HandlerAttached(w);
134 m_wFadeImage = ImageWidget.Cast(w.FindAnyWidget(m_sFadeImageName));
136 SetFadeImageVisible(m_bIsFadeImageVisible);
139 override void HandlerDeattached(Widget w)
142 GetGame().GetCallqueue().Remove(FadeUpdate);