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

◆ CheckActivePeriod()

void BunkerBroadcastScheduler::CheckActivePeriod ( )
inlineprivate

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

83 {
84 int year, month, day, hour, minute;
85 GetGame().GetWorld().GetDate(year, month, day, hour, minute);
86
87 // Convert to minutes from midnight for simpler comparisons
88 int now = hour * 60 + minute;
89
90 foreach (BunkerBroadcastPeriod period : m_Config.schedulerSettings.periods)
91 {
92 int start = period.GetStartHour() * 60 + period.GetStartMinute();
93 int end = period.GetEndHour() * 60 + period.GetEndMinute();
94
95 bool active = false;
96
97 if (start < end)
98 {
99 // Same-day range: [start, end]
100 active = (now >= start) && (now <= end);
101 }
102 else if (start > end)
103 {
104 // Wrap-around range: [start, 24h) U [0, end]
105 active = (now >= start) || (now <= end);
106 }
107 else
108 {
109 // start == end
110 // If minutes equal, interpret as full-day active; otherwise zero-length window (inactive)
111 active = true;
112 }
113
114 if (active)
115 {
116 m_IsActivePeriod = true;
117 return;
118 }
119 }
120
121 m_IsActivePeriod = false;
122 }
BunkerBroadcastConfigInstance m_Config
Определения BunkerBroadcastScheduler.c:12
DayZGame GetGame()
Определения gameplay.c:636

Перекрестные ссылки GetGame(), m_Config и m_IsActivePeriod.