DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ Update()

void NotificationUI::Update ( float timeslice)
inlineprotected

См. определение в файле NotificationUI.c строка 177

178 {
179 UpdateOffset();
180
181 float x;
182 m_Spacer.GetScreenSize( x, m_TargetHeight );
183 bool is_near = ( m_CurrentHeight + 0.01 < m_TargetHeight || m_CurrentHeight - 0.01 > m_TargetHeight );
184 if ( is_near )
185 {
186 m_CurrentHeight = Math.SmoothCD(m_CurrentHeight, m_TargetHeight, m_VelArr, 0.2, 10000, timeslice);
187 m_Root.SetSize( m_Width, m_CurrentHeight );
188 }
189 else if ( m_TargetHeight != m_CurrentHeight )
190 {
192 m_Root.SetSize( m_Width, m_CurrentHeight );
193 m_VelArr[0] = 0;
194 }
195
196 for ( int i = 0; i < m_WidgetTimers.Count(); )
197 {
198 Widget w = m_WidgetTimers.GetElement( i );
199 float new_alpha = Math.Clamp( w.GetAlpha() - timeslice / NotificationSystem.NOTIFICATION_FADE_TIME, 0, 1 );
200 if ( new_alpha > 0 )
201 {
202 w.SetAlpha( new_alpha );
203 Widget w_c = w.FindAnyWidget( "TopSpacer" );
204 Widget w_c2 = w.FindAnyWidget( "BottomSpacer" );
205 Widget w_c3 = w.FindAnyWidget( "Title" );
206 Widget w_c4 = w.FindAnyWidget( "Detail" );
207 Widget w_c5 = w.FindAnyWidget( "Name" );
208 if ( w_c && w_c2 )
209 {
210 float new_alpha_cont = Math.Clamp( w_c.GetAlpha() - timeslice / NotificationSystem.NOTIFICATION_FADE_TIME, 0, 1 );
211 w_c.SetAlpha( new_alpha_cont );
212 w_c2.SetAlpha( new_alpha_cont );
213 w_c3.SetAlpha( new_alpha_cont );
214 w_c4.SetAlpha( new_alpha_cont );
215 }
216 if ( w_c5 )
217 {
218 float new_alpha_voice = Math.Clamp( w_c5.GetAlpha() - timeslice / NotificationSystem.NOTIFICATION_FADE_TIME, 0, 1 );
219 w_c5.SetAlpha(new_alpha_voice);
220 }
221 i++;
222 }
223 else
224 {
225 delete w;
226 m_WidgetTimers.RemoveElement( i );
228 }
229 }
230 }
Icon x
float m_CurrentHeight
Определения NotificationUI.c:12
ref Widget m_Root
Определения NotificationUI.c:3
float m_TargetHeight
Определения NotificationUI.c:13
void UpdateTargetHeight()
Определения NotificationUI.c:135
float m_Width
Определения NotificationUI.c:11
ref map< string, Widget > m_WidgetTimers
Определения NotificationUI.c:16
static float m_VelArr[1]
Определения NotificationUI.c:176
ref Widget m_Spacer
Определения NotificationUI.c:4
void UpdateOffset()
Определения NotificationUI.c:148
WorkspaceWidget Widget
Defined in code.

Перекрестные ссылки Math::Clamp(), m_CurrentHeight, m_Root, m_Spacer, m_TargetHeight, m_VelArr, m_WidgetTimers, m_Width, NotificationSystem::NOTIFICATION_FADE_TIME, Math::SmoothCD(), UpdateOffset(), UpdateTargetHeight() и x.