DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
WarmthNotfr.c
См. документацию.
2{
3 private const float DEC_TRESHOLD_LOW = -0.01;
4 private const float DEC_TRESHOLD_MED = -0.12;
5 private const float DEC_TRESHOLD_HIGH = -0.25;
6 private const float INC_TRESHOLD_LOW = 0.01;
7 private const float INC_TRESHOLD_MED = 0.12;
8 private const float INC_TRESHOLD_HIGH = 0.25;
9
10 protected ref SimpleMovingAverage<float> m_AverageHeatComfortDeltaBuffer;
11
13 {
14 m_AverageHeatComfortDeltaBuffer = new SimpleMovingAverage<float>(6, 0.0);
15 }
16
17 override int GetNotifierType()
18 {
19 return eNotifiers.NTF_WARMTH;
20 }
21
22 protected DSLevelsTemp DetermineLevel(float value, float m_warning_treshold, float m_critical_treshold, float m_empty_treshold, float p_warning_treshold, float p_critical_treshold, float p_empty_treshold )
23 {
24 DSLevelsTemp level = DSLevelsTemp.NORMAL;
25
26 if (value < 0)
27 {
28 if (value < m_warning_treshold)
29 level = DSLevelsTemp.WARNING_MINUS;
30 if (value < m_critical_treshold)
31 level = DSLevelsTemp.CRITICAL_MINUS;
32 if (value <= m_empty_treshold)
33 level = DSLevelsTemp.BLINKING_MINUS;
34 }
35 else
36 {
37 if (value > p_warning_treshold)
38 level = DSLevelsTemp.WARNING_PLUS;
39 if (value > p_critical_treshold)
40 level = DSLevelsTemp.CRITICAL_PLUS;
41 if (value >= p_empty_treshold)
42 level = DSLevelsTemp.BLINKING_PLUS;
43 }
44
45 return level;
46 }
47
48 override void DisplayTendency(float delta)
49 {
50 int tendency = CalculateTendency(
58 );
59
60 DSLevelsTemp level = DetermineLevel(
61 m_Player.GetStatHeatComfort().Get(),
68 );
69
70 DisplayElementTendency displayElement = DisplayElementTendency.Cast(GetVirtualHud().GetElement(eDisplayElements.DELM_TDCY_TEMPERATURE));
71
72 if (displayElement)
73 {
74 displayElement.SetTendency(tendency);
75 displayElement.SetSeriousnessLevel(level);
76 }
77 }
78
79 override protected float GetObservedValue()
80 {
81 return m_AverageHeatComfortDeltaBuffer.Add(m_Player.m_Environment.GetTargetHeatComfort() - m_Player.GetStatHeatComfort().Get());
82 }
83}
DisplayElementBase GetElement(eDisplayElements element_id)
Определения DisplayStatus.c:95
void NotifiersManager(PlayerBase player)
Определения NotifiersManager.c:36
eNotifiers
Определения NotifiersManager.c:2
PlayerBase m_Player
Определения NotifierBase.c:6
VirtualHud GetVirtualHud()
Определения NotifierBase.c:38
void NotifierBase(NotifiersManager manager)
Определения NotifierBase.c:23
int CalculateTendency(float delta, float inctresholdlow, float inctresholdmed, float inctresholdhigh, float dectresholdlow, float dectresholdmed, float dectresholdhigh)
Определения NotifierBase.c:149
static const float THRESHOLD_HEAT_COMFORT_MINUS_WARNING
Определения PlayerConstants.c:92
static const float THRESHOLD_HEAT_COMFORT_PLUS_WARNING
Определения PlayerConstants.c:88
static const float THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL
Определения PlayerConstants.c:93
static const float THRESHOLD_HEAT_COMFORT_PLUS_EMPTY
Определения PlayerConstants.c:90
static const float THRESHOLD_HEAT_COMFORT_MINUS_EMPTY
Определения PlayerConstants.c:94
static const float THRESHOLD_HEAT_COMFORT_PLUS_CRITICAL
Определения PlayerConstants.c:89
Определения PlayerConstants.c:2
const float DEC_TRESHOLD_LOW
Определения WarmthNotfr.c:3
ref SimpleMovingAverage< float > m_AverageHeatComfortDeltaBuffer
Определения WarmthNotfr.c:10
const float INC_TRESHOLD_LOW
Определения WarmthNotfr.c:6
const float DEC_TRESHOLD_HIGH
Определения WarmthNotfr.c:5
const float INC_TRESHOLD_HIGH
Определения WarmthNotfr.c:8
const float DEC_TRESHOLD_MED
Определения WarmthNotfr.c:4
void WarmthNotfr(NotifiersManager manager)
replaces the original delta of values from NotifierBase
Определения WarmthNotfr.c:12
DSLevelsTemp DetermineLevel(float value, float m_warning_treshold, float m_critical_treshold, float m_empty_treshold, float p_warning_treshold, float p_critical_treshold, float p_empty_treshold)
Определения WarmthNotfr.c:22
float GetObservedValue()
Определения WarmthNotfr.c:79
override void DisplayTendency(float delta)
Определения WarmthNotfr.c:48
override int GetNotifierType()
Определения WarmthNotfr.c:17
const float INC_TRESHOLD_MED
Определения WarmthNotfr.c:7