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

◆ ApplyMouseOffset()

void RecoilBase::ApplyMouseOffset ( float pDt,
out float pRecResultX,
out float pRecResultY )
inlineprotected

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

145 {
146 #ifdef DEVELOPER
147 if(m_DebugMode)
148 {
150 PrintString( "RecoilBase | ApplyMouseOffset processing: " + b1 );
151 PrintString( "RecoilBase | m_MouseOffsetTargetAccum : " + m_MouseOffsetTargetAccum.ToString() );
152 PrintString( "RecoilBase | m_MouseOffsetTarget : " + m_MouseOffsetTarget.ToString() );
153 }
154 #endif
155
157 {
158 float relative_delta = pDt / m_ReloadTime / Math.Clamp(m_MouseOffsetRelativeTime, 0.001,1);
159
160 float delta_mouse_offset_x = m_MouseOffsetTarget[0] * relative_delta;
161 float delta_mouse_offset_y = m_MouseOffsetTarget[1] * relative_delta;
162
163 if( ( m_MouseOffsetTargetAccum[1] + delta_mouse_offset_y) > m_MouseOffsetTarget[1] )
164 {
165 delta_mouse_offset_x = m_MouseOffsetTarget[0] - m_MouseOffsetTargetAccum[0];
166 delta_mouse_offset_y = m_MouseOffsetTarget[1] - m_MouseOffsetTargetAccum[1];
167 }
168
169 m_MouseOffsetTargetAccum[0] = m_MouseOffsetTargetAccum[0] + delta_mouse_offset_x;
170 m_MouseOffsetTargetAccum[1] = m_MouseOffsetTargetAccum[1] + delta_mouse_offset_y;
171
172 pRecResultX = delta_mouse_offset_x;
173 pRecResultY = delta_mouse_offset_y;
174
175 /*if(m_DebugMode)
176 {
177 PrintString( "delta x: "+ delta_mouse_offset_x );
178 PrintString( "delta y: "+ delta_mouse_offset_y );
179 PrintString( "target x: "+ m_MouseOffsetTarget[0] );
180 PrintString( "target y: "+ m_MouseOffsetTarget[1] );
181 PrintString( "accum x: "+ m_MouseOffsetTargetAccum[0] );
182 PrintString( "accum y: "+ m_MouseOffsetTargetAccum[1] );
183 }*/
184 }
185 #ifdef DEVELOPER
186 if(m_DebugMode)
187 {
188 PrintString( "RecoilBase | pRecResultY: " + pRecResultY );
189 }
190 #endif
191 }
float m_ReloadTime
Определения RecoilBase.c:9
vector m_MouseOffsetTargetAccum
Определения RecoilBase.c:23
float m_MouseOffsetRelativeTime
Определения RecoilBase.c:15
vector m_MouseOffsetTarget
Определения RecoilBase.c:22
bool m_DebugMode
Определения RecoilBase.c:3
void PrintString(string s)
Helper for printing out string expression. Example: PrintString("Hello " + var);.
Определения EnScript.c:345

Перекрестные ссылки Math::Clamp(), m_DebugMode, m_MouseOffsetRelativeTime, m_MouseOffsetTarget, m_MouseOffsetTargetAccum, m_ReloadTime и PrintString().

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