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

◆ UpdateEffect()

void IngameHudHeatBuffer::UpdateEffect ( Widget hbw,
float duration,
float timeslice )
inlineprotected

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

252 {
253 #ifdef HEATBUFFER_INDICATOR_DEBUG
254 Print("HEAT BUFFER - EFFECT - Widget=" + hbw.GetName());
255 #endif
256
257 float baseAlpha = hbw.GetAlpha();
258 float opacity;
259
260 m_EffectDuration = duration;
261
262 // Initialize the effect if it's not already active
263 if (!m_IsActive)
264 {
265 m_EffectTime = 0;
266 m_FadeIn = true;
267 m_IsActive = true;
268 }
269
270 // Update the effect time
271 m_EffectTime += timeslice;
272
273 // Calculate the time fraction
274 float timeFraction = m_EffectTime / m_EffectDuration;
275
276 // Calculate opacity
277 if (m_FadeIn)
278 {
279 opacity = Math.Lerp(0.0, 1.0, timeFraction);
280 if (timeFraction >= 1.0)
281 {
282 m_FadeIn = false;
283 m_EffectTime = 0; // Reset for fade-out
284 }
285 }
286 else
287 {
288 opacity = Math.Lerp(1.0, 0.0, timeFraction);
289 if (timeFraction >= 1.0)
290 {
291 m_FadeIn = true;
292 m_EffectTime = 0; // Reset for fade-in
293 }
294 }
295
296 // Clamp the opacity to ensure it's within the valid range
297 opacity = Math.Clamp(opacity, 0.0, 1.0);
298
299 // Set the widget's alpha (opacity)
300 hbw.SetAlpha(opacity);
301
302 // Debug print statements
303 #ifdef HEATBUFFER_INDICATOR_DEBUG
304 Print("HEAT BUFFER - EFFECT - Opacity=" + opacity + " | Time Fraction=" + timeFraction + " | FadeIn=" + m_FadeIn + " | Effect time=" + m_EffectTime + " | Effect duration=" + m_EffectDuration);
305 #endif
306 }
float m_EffectTime
Определения IngameHudHeatBuffer.c:12
bool m_FadeIn
Определения IngameHudHeatBuffer.c:14
float m_EffectDuration
Определения IngameHudHeatBuffer.c:13
bool m_IsActive
Определения IngameHudHeatBuffer.c:7
proto void Print(void var)
Prints content of variable to console/log.

Перекрестные ссылки Math::Clamp(), Math::Lerp(), m_EffectDuration, m_EffectTime, m_FadeIn, m_IsActive и Print().

Используется в Update().