DayZ 1.27
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 // Initialize the effect if it's not already active
261 if (!m_IsActive)
262 {
263 m_EffectDuration = duration;
264 m_EffectTime = 0;
265 m_FadeIn = true;
266 m_IsActive = true;
267 }
268
269 // Update the effect time
270 m_EffectTime += timeslice;
271
272 // Calculate the time fraction
273 float timeFraction = m_EffectTime / m_EffectDuration;
274
275 // Calculate opacity
276 if (m_FadeIn)
277 {
278 opacity = Math.Lerp(0.0, 1.0, timeFraction);
279 if (timeFraction >= 1.0)
280 {
281 m_FadeIn = false;
282 m_EffectTime = 0; // Reset for fade-out
283 }
284 }
285 else
286 {
287 opacity = Math.Lerp(1.0, 0.0, timeFraction);
288 if (timeFraction >= 1.0)
289 {
290 m_FadeIn = true;
291 m_EffectTime = 0; // Reset for fade-in
292 }
293 }
294
295 // Clamp the opacity to ensure it's within the valid range
296 opacity = Math.Clamp(opacity, 0.0, 1.0);
297
298 // Set the widget's alpha (opacity)
299 hbw.SetAlpha(opacity);
300
301 // Debug print statements
302 #ifdef HEATBUFFER_INDICATOR_DEBUG
303 Print("HEAT BUFFER - EFFECT - Opacity=" + opacity + " | Time Fraction=" + timeFraction + " | FadeIn=" + m_FadeIn + " | Effect time=" + m_EffectTime + " | Effect duration=" + m_EffectDuration);
304 #endif
305 }
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().