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

◆ TickSingleNotifier()

void TickSingleNotifier ( int currentTime)
protected

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

243 {
244 int notifierCount = m_NotifierIDs.Count();
245
246 #ifdef DIAG_NOTIFIER_LOGS
247 if (notifierCount == 0)
248 {
249 ErrorEx("Notifier count is 0", ErrorExSeverity.ERROR);
250 return;
251 }
252 #endif
253
254 if (m_LastPolledIndex >= notifierCount)
255 {
256 #ifdef DIAG_NOTIFIER_LOGS
257 ErrorEx(string.Format("Last poll index is %1 and notifier id count is %2. Reset poll index.", m_LastPolledIndex, notifierCount), ErrorExSeverity.INFO);
258 #endif
260 }
261
262 int notifierID = m_NotifierIDs[m_LastPolledIndex];
263
264 #ifdef DIAG_NOTIFIER_LOGS
265 ErrorEx(string.Format("Got notifier ID %1 for poll index %2.", notifierID, m_LastPolledIndex), ErrorExSeverity.INFO);
266 #endif
267
268 NotifierBase currentNotifier = m_NotifiersStatic[notifierID];
269
270 if (currentNotifier && currentNotifier.IsActive())
271 {
272 #ifdef DIAG_NOTIFIER_LOGS
273 ErrorEx(string.Format("Got notifier %1 with ID %2.", currentNotifier, notifierID), ErrorExSeverity.INFO);
274 #endif
275
276 if (currentNotifier.IsTimeToTick(currentTime))
277 {
278 #ifdef DIAG_NOTIFIER_LOGS
279 ErrorEx(string.Format("Time to tick notifier %1.", currentNotifier), ErrorExSeverity.INFO);
280 #endif
281 currentNotifier.OnTick(currentTime);
282 }
283 #ifdef DIAG_NOTIFIER_LOGS
284 else
285 {
286 ErrorEx(string.Format("Skip tick of notifier %1 ..", currentNotifier), ErrorExSeverity.INFO);
287 }
288 #endif
289 }
290 #ifdef DIAG_NOTIFIER_LOGS
291 else
292 {
293 if (!currentNotifier)
294 ErrorEx(string.Format("Could not get any notifier with ID %1.", notifierID), ErrorExSeverity.ERROR);
295 else
296 ErrorEx(string.Format("Could get notifier %1 with ID %2 but notifier is inactive!", currentNotifier, notifierID), ErrorExSeverity.INFO);
297 }
298 #endif
299
301 }
ref array< int > m_NotifierIDs
Notifier ids in registration order.
Определения NotifiersManager.c:42
NotifierBase m_NotifiersStatic[MAX_COUNT]
Определения NotifiersManager.c:32
int m_LastPolledIndex
Round-robin index.
Определения NotifiersManager.c:39
void OnTick(float current_time)
Определения NotifierBase.c:144
bool IsActive()
Определения NotifierBase.c:61
bool IsTimeToTick(int current_time)
Определения NotifierBase.c:29
Определения NotifierBase.c:2
ErrorExSeverity
Определения EnDebug.c:62
enum ShapeType ErrorEx

Перекрестные ссылки ErrorEx, NotifierBase::IsActive(), NotifierBase::IsTimeToTick(), m_LastPolledIndex, m_NotifierIDs, m_NotifiersStatic и NotifierBase::OnTick().

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