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

◆ Update()

static void NotificationSystem::Update ( float timeslice)
inlinestaticprotected

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

234 {
235 if (m_Instance)
236 {
237 if (g_Game.GetGameState() != DayZGameState.IN_GAME && g_Game.GetGameState() != DayZGameState.MAIN_MENU)
238 return;
239
240 m_Instance.m_TimeElapsed += timeslice;
241 if (m_Instance.m_TimeElapsed >= UPDATE_INTERVAL_THRESHOLD)
242 {
243 array<NotificationRuntimeData> expiredNotifications = new array<NotificationRuntimeData>();
244 foreach (NotificationRuntimeData visibleNotificationData : m_Instance.m_TimeArray)
245 {
246 if (visibleNotificationData.GetRemainingTime() <= 0.0)
247 expiredNotifications.Insert(visibleNotificationData);
248 else
249 visibleNotificationData.UpdateRemainingTime(UPDATE_INTERVAL_THRESHOLD);
250 }
251
252 foreach (NotificationRuntimeData expiredNotificationData : expiredNotifications)
253 {
254 m_Instance.m_OnNotificationRemoved.Invoke(expiredNotificationData);
255 m_Instance.m_TimeArray.RemoveItem(expiredNotificationData);
256
257 if (m_Instance.m_DeferredArray.Count() > 0)
258 {
259 int count = m_Instance.m_DeferredArray.Count();
260 NotificationRuntimeData deferredNotificationData = m_Instance.m_DeferredArray.Get(count - 1);
261 m_Instance.m_TimeArray.Insert(deferredNotificationData);
262 m_Instance.m_OnNotificationAdded.Invoke(deferredNotificationData);
263 m_Instance.m_DeferredArray.Remove(count - 1);
264 }
265 }
266
267 m_Instance.m_TimeElapsed = 0;
268 }
269 }
270 }
DayZGame g_Game
Определения DayZGame.c:3868
void NotificationRuntimeData(float time, NotificationData data, string detail_text)
Определения NotificationSystem.c:23
static const float UPDATE_INTERVAL_THRESHOLD
Определения NotificationSystem.c:77
static ref NotificationSystem m_Instance
Определения NotificationSystem.c:79

Перекрестные ссылки g_Game, m_Instance, NotificationRuntimeData() и UPDATE_INTERVAL_THRESHOLD.

Используется в CGame::OnUpdate().