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

◆ Update()

void ShockHandler::Update ( float deltaT)
inlineprotected

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

39 {
40 m_TimeSinceLastTick += deltaT;
41
42 m_PulseTimer += deltaT;
43
44 if ( GetGame().IsClient() )
45 {
46 //Deactivate tunnel vignette when player falls unconscious
47 if ( m_Player.IsUnconscious() )
48 {
49 PPERequesterBank.GetRequester(PPERequester_TunnelVisionEffects).Stop();
50 return;
51 }
52
53 //Deactivate if above visible threshold (also stops "zero bobbing" being sent all the time
54 if ( m_Player.m_CurrentShock >= m_ShockValueThreshold)
55 {
56 PPERequesterBank.GetRequester(PPERequester_TunnelVisionEffects).Stop();
57 return;
58 }
59
60 //Add bobbing to create pulsing effect
61 float val = 0.0;
62 if ( m_Player.m_CurrentShock > m_ShockValueMax * 0.8)
63 val = MiscGameplayFunctions.Bobbing( PULSE_PERIOD, PULSE_AMPLITUDE, m_PulseTimer );
64 float val_adjusted;
65
66 if ( m_Player.m_CurrentShock != (m_PrevVignette * 100) )
67 {
68 //Interpolate between previous level and currently synchronized shock level
70
71 val_adjusted = 1 - Easing.EaseInQuart(m_LerpRes) + val;
72 }
73 else
74 {
75 val_adjusted = 1 - Easing.EaseInQuart( NormalizeShockVal(m_Player.m_CurrentShock)) + val;
76 }
77
78 m_Param.param1 = val_adjusted;
79 PPERequesterBank.GetRequester(PPERequester_TunnelVisionEffects).Start(m_Param);
80 }
81
83 {
84 //Play the shock hit event (multiply prevVignette by 100 to "Un-Normalize" value)
85 if ( GetGame().IsClient() )
86 {
88 m_PrevVignette = m_Player.m_CurrentShock * 0.01;
89 }
90
91 CheckValue( false );
93 }
94 }
float m_ShockValueMax
Определения ShockHandler.c:4
float m_PulseTimer
Определения ShockHandler.c:24
const float PULSE_AMPLITUDE
Определения ShockHandler.c:23
void CheckValue(bool forceUpdate)
Определения ShockHandler.c:120
void ShockHitEffect(float compareBase)
Определения ShockHandler.c:173
ref Param1< float > m_Param
Определения ShockHandler.c:26
const float PULSE_PERIOD
Определения ShockHandler.c:22
float LerpVignette(float x, float y, float deltaT)
Определения ShockHandler.c:165
PlayerBase m_Player
Определения ShockHandler.c:6
float m_PrevVignette
Определения ShockHandler.c:13
float m_TimeSinceLastTick
Определения ShockHandler.c:11
float NormalizeShockVal(float shock)
Определения ShockHandler.c:158
float m_ShockValueThreshold
Определения ShockHandler.c:5
float m_LerpRes
Определения ShockHandler.c:14
const float VALUE_CHECK_INTERVAL
Определения ShockHandler.c:9
proto native CGame GetGame()

Перекрестные ссылки CheckValue(), Easing::EaseInQuart(), GetGame(), LerpVignette(), m_LerpRes, m_Param, m_Player, m_PrevVignette, m_PulseTimer, m_ShockValueMax, m_ShockValueThreshold, m_TimeSinceLastTick, NormalizeShockVal(), PULSE_AMPLITUDE, PULSE_PERIOD, ShockHitEffect() и VALUE_CHECK_INTERVAL.