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

◆ ApplyVehicleModifier()

void ScriptedSandstormController::ApplyVehicleModifier ( inout float intensity,
PlayerBase player,
PlayerSandstormData playerData )
inlineprivate

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

251 {
252 if (!player)
253 return;
254
255 if (intensity <= 0)
256 return;
257
258 HumanCommandVehicle vehicleCommand = player.GetCommand_Vehicle();
259 if (!vehicleCommand)
260 return;
261
262 Transport transport = vehicleCommand.GetTransport();
263
264 // no transport or not in Car transport
265 if (!transport || transport && !transport.IsAnyInherited({Car}))
266 return;
267
268 bool isInVehicle = transport != null;
269 float currentTime = g_Game.GetTime();
270
271 // Initialize transition if vehicle state changed
272 if (isInVehicle != playerData.GetWasInVehicle())
273 {
274 playerData.m_VehicleTransitionTimer = currentTime;
275 playerData.SetWasInVehicle(isInVehicle);
276 }
277
278 float elapsedTime = currentTime - playerData.m_VehicleTransitionTimer;
279 float transitionProgress = Math.Clamp(elapsedTime * INTERIOR_TRANSITION_DURATON_FRACTION, INTERIOR_TRANSITION_MIN, INTERIOR_TRANSITION_MAX);
280
281 ApplyShelterFade(intensity, isInVehicle, transitionProgress);
282 }
DayZGame g_Game
Определения DayZGame.c:4074
proto native Transport GetTransport()
bool GetWasInVehicle()
Определения PlayerSandstormData.c:28
void SetWasInVehicle(bool value)
Определения PlayerSandstormData.c:33
float m_VehicleTransitionTimer
Определения PlayerSandstormData.c:10
void ApplyShelterFade(inout float intensity, bool isCurrentlySheltered, float transitionProgress)
Определения ScriptedSandstormController.c:129
const float INTERIOR_TRANSITION_MAX
Определения ScriptedSandstormController.c:17
const float INTERIOR_TRANSITION_MIN
Определения ScriptedSandstormController.c:16
static const float INTERIOR_TRANSITION_DURATON_FRACTION
Определения ScriptedSandstormController.c:18

Перекрестные ссылки ApplyShelterFade(), Math::Clamp(), g_Game, HumanCommandVehicle::GetTransport(), PlayerSandstormData::GetWasInVehicle(), INTERIOR_TRANSITION_DURATON_FRACTION, INTERIOR_TRANSITION_MAX, INTERIOR_TRANSITION_MIN, PlayerSandstormData::m_VehicleTransitionTimer и PlayerSandstormData::SetWasInVehicle().

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