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

◆ HandleItemOverheating()

void Entity::HandleItemOverheating ( float deltaHeat,
TemperatureData data )
inlineprotected

См. определение в файле 3_Game/Entities/EntityAI.c строка 2654

2655 {
2656 float deltaTime = 1;
2657 float progressVal = m_OverheatProgress;
2658
2659 if (deltaHeat < 0)
2660 deltaTime = -1;
2661
2662 if (data.m_UpdateTimeInfo == -1)
2663 deltaTime = deltaHeat / GameConstants.TEMPERATURE_RATE_AVERAGE_ABS; //reverse-calculate the progress if actual time is not available
2664 else
2665 deltaTime *= data.m_UpdateTimeInfo;
2666
2667 if (GetItemOverheatTime() > 0)
2668 {
2669 float changeTime = Math.Lerp(Math.Max(GameConstants.TEMPERATURE_TIME_OVERHEAT_MIN,GetItemOverheatTime()),GameConstants.TEMPERATURE_TIME_OVERHEAT_MIN,Math.Clamp(data.m_InterpolatedFraction,0,1));
2670 progressVal += deltaTime / changeTime;
2671 }
2672 else
2673 {
2674 if (deltaHeat < 0)
2675 progressVal = 0;
2676 else if (deltaHeat > 0)
2677 progressVal = 1;
2678 }
2679
2680 SetItemOverheatProgress(Math.Clamp(progressVal,0,1),deltaTime);
2681 }
void SetItemOverheatProgress(float val, float deltaTime=0)
Определения 3_Game/Entities/EntityAI.c:2631
float m_OverheatProgress
Определения 3_Game/Entities/EntityAI.c:164
float GetItemOverheatTime()
any configured value >= 0 will simulate overheating
Определения 3_Game/Entities/EntityAI.c:2616
float m_InterpolatedFraction
Определения TemperatureData.c:12
float m_UpdateTimeInfo
Определения TemperatureData.c:7

Перекрестные ссылки Math::Clamp(), GetItemOverheatTime(), Math::Lerp(), TemperatureData::m_InterpolatedFraction, m_OverheatProgress, TemperatureData::m_UpdateTimeInfo, Math::Max(), SetItemOverheatProgress(), GameConstants::TEMPERATURE_RATE_AVERAGE_ABS и GameConstants::TEMPERATURE_TIME_OVERHEAT_MIN.

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