102 string taskName = config.m_sTaskName;
109 if (config.m_bAllowedNotificationInterval)
113 if (m_mNotificationIntervalMap.Find(taskNotification, lastSavedTimestamp))
115 if (world.GetServerTimestamp().LessEqual(lastSavedTimestamp))
119 m_mNotificationIntervalMap.Set(taskNotification, world.GetServerTimestamp().PlusSeconds(config.m_fNotificationInterval));
128 #ifdef TASK_NOTIFICATION_DEBUG
133 if (majorBaseData &&
base)
139 PlayVONotification(majorBaseData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
146 PlayVONotification(majorBaseData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
155 PlayVONotification(majorBaseData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
166 PlayVONotification(majorBaseData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
175 PlayVONotification(majorBaseData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
182 Print(
"[SCR_MajorTaskNotificationData.PlayTaskNotificationMsg] message type not found",
LogLevel.WARNING);
189 SCR_MajorRequestedTaskNotificationData majorRequestedData = SCR_MajorRequestedTaskNotificationData.Cast(
data);
190 if (majorRequestedData)
198 PlayVONotification(majorRequestedData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
206 PlayVONotification(majorRequestedData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
215 PlayVONotification(majorRequestedData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
224 PlayVONotification(majorRequestedData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
231 PlayVONotification(majorRequestedData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
238 PlayVONotification(majorRequestedData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
243 Print(
"[SCR_MajorTaskNotificationData.PlayTaskNotificationMsg] message type not found",
LogLevel.WARNING);
250 SCR_MajorTaskNotificationData majorData = SCR_MajorTaskNotificationData.Cast(
data);
257 PlayVONotification(majorData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
264 PlayVONotification(majorData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
273 PlayVONotification(majorData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
284 PlayVONotification(majorData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
293 PlayVONotification(majorData.m_sSoundEventName, factionId, baseCallsign, callerGroupId, calledGroupId, grid, quality);
300 Print(
"[SCR_MajorTaskNotificationData.PlayTaskNotificationMsg] message type not found",
LogLevel.WARNING);
310 if (!isFriendly && !SHOW_ENEMY_MINOR_TEXT_NOTIFICATION)
316 SCR_NotificationsComponent.SendLocal(minorData.m_eNotification, taskNotification, factionId, baseCallsign, callerGroupId);
320 SCR_NotificationsComponent.SendLocal(minorData.m_eNotification, callerGroupId);
332 SCR_NotificationsComponent.SendLocal(minorData.m_eNotification, taskNotification, msg, factionId, baseCallsign, grid);
336 Print(
"[SCR_MajorTaskNotificationData.PlayTaskNotificationMsg] message type not found",
LogLevel.WARNING);
386 void PlayVOTaskNotification(
string soundEventName,
int factionId,
int baseCallsign,
int callerGroupId,
int calledGroupId,
int gridX,
int gridY,
float quality)
389 if (
System.IsConsoleApp())
395 SCR_HQRadioSoundEntity radioSoundEntity = SCR_HQRadioSoundEntity.GetInstance();
396 if (!radioSoundEntity)
408 if (!m_CallsignManager)
416 int companyCallsignIndexCaller, platoonCallsignIndexCaller, squadCallsignIndexCaller, characterCallsignIndexCaller;
419 m_CallsignManager.
GetEntityCallsignIndexes(callerGroup, companyCallsignIndexCaller, platoonCallsignIndexCaller, squadCallsignIndexCaller, characterCallsignIndexCaller);
422 if (localPlayerId == 0)
427 int companyCallsignIndexCalled, platoonCallsignIndexCalled, squadCallsignIndexCalled, characterCallsignIndexCalled;
430 m_CallsignManager.
GetEntityCallsignIndexes(calledGroup, companyCallsignIndexCalled, platoonCallsignIndexCalled, squadCallsignIndexCalled, characterCallsignIndexCalled);
437 SCR_MilitaryBaseCallsign callsignInfo;
440 callsignInfo = faction.GetBaseCallsignByIndex(
base.GetCallsign());
442 callsignInfo = faction.GetBaseCallsignByIndex(
base.GetCallsign(),
m_Campaign.GetCallsignOffset());
471 if (gridX >= 0 && gridY >= 0)
473 float gridValue = (gridX * 1000) + gridY;
484 radioSoundEntity.PlayRadioSound(soundEventName);