DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс NotifierBase
+ Граф наследования:NotifierBase:

Защищенные члены

int CalculateTendency (float delta, float inctresholdlow, float inctresholdmed, float inctresholdhigh, float dectresholdlow, float dectresholdmed, float dectresholdhigh)
 
eBadgeLevel DetermineBadgeLevel (float value, float lvl_1, float lvl_2, float lvl_3)
 
void DisplayBadge ()
 
void HideBadge ()
 
float GetObservedValue ()
 

Закрытые члены

void NotifierBase (NotifiersManager manager)
 
bool IsTimeToTick (int current_time)
 
VirtualHud GetVirtualHud ()
 
int GetNotifierType ()
 
string GetName ()
 
bool IsActive ()
 
void SetActive (bool state)
 
void DisplayTendency (float delta)
 
void AddToCyclicBuffer (float value)
 
float ReadFromCyclicBuffer (int index)
 
float GetDeltaAvaraged ()
 
void SmoothOutFloatValues (array< float > values)
 
void OnTick (float current_time)
 

Закрытые данные

float m_DeltaT
 
ref Timer m_Timer1
 
PlayerBase m_Player
 
int m_Type
 
NotifiersManager m_Manager
 
int m_TendencyBufferSize = 3
 
const int TENDENCY_BUFFER_SIZE = 30
 
bool m_ShowTendency
 
bool m_Active
 
int m_TickInterval
 
int m_TickIntervalLastTick
 
float m_TendencyBuffer [TENDENCY_BUFFER_SIZE]
 
int m_TendencyBufferWriteIterator
 
float m_LastTendency
 
float m_LastMA
 
bool m_FirstPass = true
 
PluginPlayerStatus m_ModulePlayerStatus
 

Подробное описание

Конструктор(ы)

◆ NotifierBase()

void NotifierBase ( NotifiersManager manager)
inlineprivate
24 {
25 m_ModulePlayerStatus = PluginPlayerStatus.Cast(GetPlugin(PluginPlayerStatus));
26 m_Active = true;
28 m_Player = manager.GetPlayer();
29 m_TickInterval = 1000;
30 manager.RegisterItself(GetNotifierType(), this);
31 }
PluginBase GetPlugin(typename plugin_type)
Definition PluginManager.c:316
NotifiersManager m_Manager
Definition NotifierBase.c:8
PlayerBase m_Player
Definition NotifierBase.c:6
bool m_Active
Definition NotifierBase.c:12
int m_TickInterval
Definition NotifierBase.c:13
int GetNotifierType()
Definition NotifierBase.c:43
PluginPlayerStatus m_ModulePlayerStatus
Definition NotifierBase.c:21
Definition EntityAI.c:95

Перекрестные ссылки GetNotifierType(), GetPlugin(), m_Active, m_Manager, m_ModulePlayerStatus, m_Player и m_TickInterval.

Методы

◆ AddToCyclicBuffer()

void AddToCyclicBuffer ( float value)
inlineprivate
70 {
74 {
76 m_ShowTendency = true;
77 }
78 }
int m_TendencyBufferWriteIterator
Definition NotifierBase.c:16
int m_TendencyBufferSize
Definition NotifierBase.c:9
float m_TendencyBuffer[TENDENCY_BUFFER_SIZE]
Definition NotifierBase.c:15
bool m_ShowTendency
Definition NotifierBase.c:11

Перекрестные ссылки m_ShowTendency, m_TendencyBuffer, m_TendencyBufferSize и m_TendencyBufferWriteIterator.

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

◆ CalculateTendency()

int CalculateTendency ( float delta,
float inctresholdlow,
float inctresholdmed,
float inctresholdhigh,
float dectresholdlow,
float dectresholdmed,
float dectresholdhigh )
inlineprotected
150 {
152 if (delta > inctresholdlow)
154 if (delta > inctresholdmed)
158 if (delta < dectresholdlow)
160 if (delta < dectresholdmed)
164
165 return tendency;
166 }
const int TENDENCY_INC_LOW
Definition _constants.c:53
const int TENDENCY_DEC_HIGH
Definition _constants.c:58
const int TENDENCY_DEC_MED
Definition _constants.c:57
const int TENDENCY_INC_MED
Definition _constants.c:54
const int TENDENCY_DEC_LOW
Definition _constants.c:56
const int TENDENCY_INC_HIGH
Definition _constants.c:55
const int TENDENCY_STABLE
Definition _constants.c:52

Перекрестные ссылки TENDENCY_DEC_HIGH, TENDENCY_DEC_LOW, TENDENCY_DEC_MED, TENDENCY_INC_HIGH, TENDENCY_INC_LOW, TENDENCY_INC_MED и TENDENCY_STABLE.

Используется в BloodNotfr::DisplayTendency(), HealthNotfr::DisplayTendency(), HungerNotfr::DisplayTendency(), ThirstNotfr::DisplayTendency() и WarmthNotfr::DisplayTendency().

◆ DetermineBadgeLevel()

eBadgeLevel DetermineBadgeLevel ( float value,
float lvl_1,
float lvl_2,
float lvl_3 )
inlineprotected
170 {
172 if (value >= lvl_1)
173 level = eBadgeLevel.FIRST;
174 if (value >= lvl_2)
175 level = eBadgeLevel.SECOND;
176 if (value >= lvl_3)
177 level = eBadgeLevel.THIRD;
178
179 return level;
180 }
eBadgeLevel
Definition _constants.c:2

Используется в InjuredLegNotfr::DisplayBadge() и StuffedNotfr::DisplayBadge().

◆ DisplayBadge()

void DisplayBadge ( )
protected

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

◆ DisplayTendency()

void DisplayTendency ( float delta)
private

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

◆ GetDeltaAvaraged()

float GetDeltaAvaraged ( )
inlineprivate
92 {
94 for (int i = 0; i < m_TendencyBufferSize; i++)
95 {
97 }
98
99 float valuesSum = 0;
100
101 for (i = 0; i < values.Count(); i++)
102 {
103 float value = values.Get(i);
104 valuesSum += value;
105 }
106
108 if (m_FirstPass)
109 {
110 m_LastMA = sma;
111 m_FirstPass = false;
112 }
113
114 float tnd = sma - m_LastMA;
115 m_LastMA = sma;
116
117 return tnd;
118 }
float ReadFromCyclicBuffer(int index)
Definition NotifierBase.c:80
float m_LastMA
Definition NotifierBase.c:18
bool m_FirstPass
Definition NotifierBase.c:19

Перекрестные ссылки m_FirstPass, m_LastMA, m_TendencyBufferSize и ReadFromCyclicBuffer().

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

◆ GetName()

string GetName ( )
inlineprivate
49 {
50 return this.ClassName() + " Notifier";
51 }

◆ GetNotifierType()

int GetNotifierType ( )
inlineprivate
44 {
45 return m_Type;
46 }
int m_Type
Definition NotifierBase.c:7

Перекрестные ссылки m_Type.

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

◆ GetObservedValue()

float GetObservedValue ( )
inlineprotected
187 {
188 return 0.0;
189 }

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

◆ GetVirtualHud()

◆ HideBadge()

void HideBadge ( )
protected

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

◆ IsActive()

bool IsActive ( )
inlineprivate
54 {
55 return m_Active;
56 }

Перекрестные ссылки m_Active.

◆ IsTimeToTick()

bool IsTimeToTick ( int current_time)
inlineprivate
34 {
36 }
int m_TickIntervalLastTick
Definition NotifierBase.c:14

Перекрестные ссылки m_TickInterval и m_TickIntervalLastTick.

◆ OnTick()

void OnTick ( float current_time)
inlineprivate
138 {
140
141 DisplayBadge();
143
144 if (m_ShowTendency)
146
147 }
float GetObservedValue()
Definition NotifierBase.c:186
void DisplayTendency(float delta)
void AddToCyclicBuffer(float value)
Definition NotifierBase.c:69
void DisplayBadge()
float GetDeltaAvaraged()
Definition NotifierBase.c:91

Перекрестные ссылки AddToCyclicBuffer(), DisplayBadge(), DisplayTendency(), GetDeltaAvaraged(), GetObservedValue(), m_ShowTendency и m_TickIntervalLastTick.

◆ ReadFromCyclicBuffer()

float ReadFromCyclicBuffer ( int index)
inlineprivate
81 {
84 {
86 }
87
88 return m_TendencyBuffer[indx];
89 }

Перекрестные ссылки m_TendencyBuffer, m_TendencyBufferSize и m_TendencyBufferWriteIterator.

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

◆ SetActive()

void SetActive ( bool state)
inlineprivate
59 {
61 if (!state)
62 HideBadge();
63
64
65 }
void HideBadge()

Перекрестные ссылки HideBadge() и m_Active.

Используется в ActivateByType() и DeactivateByType().

◆ SmoothOutFloatValues()

void SmoothOutFloatValues ( array< float > values)
inlineprivate
121 {
122 float value1;
123 float value2;
124 for (int i = 0; i < values.Count() - 1; i++)
125 {
126 value1 = values.Get(i);
127 value2 = values.Get(i + 1);
128 float average = (value1 + value2) / 2;
129 values.Set(i, average);
130 values.Set(i + 1, average);
131 }
132
133 int index = values.Count() - 1;
134 values.Set(index, value2);
135 }

Поля

◆ m_Active

◆ m_DeltaT

float m_DeltaT
private

◆ m_FirstPass

bool m_FirstPass = true
private

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

◆ m_LastMA

float m_LastMA
private

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

◆ m_LastTendency

float m_LastTendency
private

◆ m_Manager

NotifiersManager m_Manager
private

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

◆ m_ModulePlayerStatus

PluginPlayerStatus m_ModulePlayerStatus
private

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

◆ m_Player

◆ m_ShowTendency

bool m_ShowTendency
private

Используется в AddToCyclicBuffer() и OnTick().

◆ m_TendencyBuffer

float m_TendencyBuffer[TENDENCY_BUFFER_SIZE]
private

Используется в AddToCyclicBuffer() и ReadFromCyclicBuffer().

◆ m_TendencyBufferSize

◆ m_TendencyBufferWriteIterator

int m_TendencyBufferWriteIterator
private

Используется в AddToCyclicBuffer() и ReadFromCyclicBuffer().

◆ m_TickInterval

int m_TickInterval
private

Используется в HealthNotfr::HealthNotfr(), IsTimeToTick() и NotifierBase().

◆ m_TickIntervalLastTick

int m_TickIntervalLastTick
private

Используется в IsTimeToTick() и OnTick().

◆ m_Timer1

ref Timer m_Timer1
private

◆ m_Type

int m_Type
private

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

◆ TENDENCY_BUFFER_SIZE

const int TENDENCY_BUFFER_SIZE = 30
private

Объявления и описания членов класса находятся в файле: