248 data.m_RadioTransceiver = radioTransceiver;
249 data.m_bForceUpdate =
false;
256 int controlledID =
GetGame().GetPlayerController().GetPlayerId();
259 if (controlledID && factionMgr)
261 playerFaction = factionMgr.SGetPlayerFaction(controlledID);
262 data.m_Faction = factionMgr.SGetPlayerFaction(
data.m_iPlayerID);
265 bool enemyTransmission;
266 if (IsReceiving && playerFaction && playerFaction.IsFactionEnemy(
data.m_Faction) && !
m_bShowEnemyNames)
268 if (!radioTransceiver)
271 enemyTransmission =
true;
274 if (!
data.m_wBaseWidget)
277 if (
data.m_bIsAdditional)
281 data.m_bIsAnimating =
true;
282 data.m_wBaseWidget.SetVisible(
true);
283 data.m_Widgets.m_wIcon.SetVisible(
true);
284 data.m_Widgets.m_wMicFrame.SetVisible(
false);
285 data.m_Widgets.m_wChannelFrame.SetVisible(
false);
286 data.m_Widgets.m_wSeparator.SetVisible(
false);
287 data.m_Widgets.m_wPlatformImage.SetVisible(
false);
288 data.m_Widgets.m_wPlatformImageGlow.SetVisible(
false);
289 data.m_Widgets.m_wRecievers.SetVisible(
false);
290 data.m_Widgets.m_wNosignal.SetVisible(
false);
293 if (radioTransceiver)
295 if (radioTransceiver.IsMuted())
305 data.m_fFrequency = frequency;
306 adjustedFreq =
Math.Round(
data.m_fFrequency * 0.1) / 100;
308 data.m_Widgets.m_wFrequency.SetVisible(!
data.m_bIsSenderEditor || frequency != 0);
310 if (!
data.m_bIsSenderEditor && adjustedFreq == 0)
311 Print(
"SCR_VonDisplay: Incoming frequency 0 | base: " + frequency +
" | adjusted: " + adjustedFreq,
LogLevel.WARNING);
316 data.m_Widgets.m_wFrequency.SetVisible(
false);
320 if (sDeviceIcon !=
string.Empty)
326 data.m_Widgets.m_wGameMaster.SetVisible(
data.m_bIsSenderEditor);
331 data.m_Widgets.m_wIcon.SetColor(COLOR_WHITE);
332 data.m_Widgets.m_wGameMaster.SetColor(COLOR_WHITE);
337 data.m_Entity =
GetGame().GetPlayerManager().GetPlayerControlledEntity(
data.m_iPlayerID);
338 SCR_PossessingManagerComponent possMgr = SCR_PossessingManagerComponent.GetInstance();
339 if (
data.m_Entity && possMgr && possMgr.IsPossessing(
data.m_iPlayerID))
341 SCR_CharacterIdentityComponent scrCharIdentity = SCR_CharacterIdentityComponent.Cast(
data.m_Entity.FindComponent(SCR_CharacterIdentityComponent));
345 array<string> nameParams = {};
346 scrCharIdentity.GetFormattedFullName(name, nameParams);
347 data.m_Widgets.m_wName.SetTextFormat(name, nameParams[0], nameParams[1], nameParams[2])
351 CharacterIdentityComponent charIdentity = CharacterIdentityComponent.Cast(
data.m_Entity.FindComponent(CharacterIdentityComponent));
352 if (charIdentity && charIdentity.GetIdentity())
353 data.m_Widgets.m_wName.SetText(charIdentity.GetIdentity().GetName());
366 data.m_Widgets.m_wName.SetVisible(
true);
369 if (playerController)
370 playerController.SetPlatformImageTo(
data.m_iPlayerID,
data.m_Widgets.m_wPlatformImage,
data.m_Widgets.m_wPlatformImageGlow);
372 bool sameFaction = playerFaction ==
data.m_Faction && !
data.m_bIsSenderEditor;
375 data.m_Widgets.m_wRole.SetVisible(
false);
376 data.m_Widgets.m_wSquadLeaderIcon.SetVisible(
false);
385 SCR_AIGroup playerGroup = groupsManager.GetPlayerGroup(
data.m_iPlayerID);
395 data.m_Widgets.m_wRole.SetColor(
Color.FromInt(GUIColors.ORANGE.PackToInt()));
396 data.m_Widgets.m_wSquadLeaderIcon.SetColor(
Color.FromInt(GUIColors.ORANGE.PackToInt()));
400 data.m_Widgets.m_wRole.SetColor(COLOR_WHITE);
401 data.m_Widgets.m_wSquadLeaderIcon.SetColor(COLOR_WHITE);
405 data.m_Widgets.m_wRole.SetVisible(
true);
406 data.m_Widgets.m_wSquadLeaderIcon.SetVisible(isSquadLeader);
410 data.m_bIsSenderEditor =
false;
416 data.m_bIsSenderEditor = editor.IsOpened();
419 data.m_Widgets.m_wName.SetText(
string.Empty);
420 data.m_Widgets.m_wName.SetVisible(
false);
421 data.m_Widgets.m_wRole.SetText(
string.Empty);
422 data.m_Widgets.m_wRole.SetVisible(
false);
423 data.m_Widgets.m_wSquadLeaderIcon.SetVisible(
false);
425 if (radioTransceiver)
432 if (factionHQFrequency == frequency)
435 data.m_Widgets.m_wChannelFrame.SetVisible(
true);
440 if (groupTaskManager && groupTaskManager.IsEnabledAssigningFrequencies() && playerFaction)
442 SCR_Task task = groupTaskManager.GetTaskByFrequency(playerFaction, frequency);
445 data.m_Widgets.m_wChannelText.SetText(groupTaskManager.GetTaskTranslatedName(
task));
446 data.m_Widgets.m_wChannelFrame.SetVisible(
true);
450 if (radioTransceiver.IsMuted())
452 data.m_Widgets.m_wIcon.SetColor(
Color.FromInt(GUIColors.RED.PackToInt()));
456 data.m_Widgets.m_wIcon.SetColor(
Color.FromInt(GUIColors.ORANGE.PackToInt()));
459 data.m_Widgets.m_wGameMaster.SetColor(
Color.FromInt(GUIColors.ORANGE.PackToInt()));
461 PlayerController controller =
GetGame().GetPlayerController();
462 data.m_Entity = controller.GetControlledEntity();
464 data.m_Faction = factionMgr.SGetPlayerFaction(controller.GetPlayerId());
466 if (
data.m_Entity &&
data.m_Faction)
470 if (gameModeCampaign && !gameModeCampaign.GetBaseManager().IsEntityInFactionRadioSignal(
data.m_Entity,
data.m_Faction))
472 data.m_Widgets.m_wRecievers.SetVisible(
true);
473 data.m_Widgets.m_wNosignal.SetVisible(
true);
474 data.m_Widgets.m_wRecievers.SetColor(
Color.FromInt(GUIColors.DARK_GRAY.PackToInt()));
475 data.m_Widgets.m_wNosignal.SetColor(
Color.FromInt(GUIColors.DARK_GRAY.PackToInt()));
479 data.m_Widgets.m_wRecievers.SetVisible(
false);
480 data.m_Widgets.m_wNosignal.SetVisible(
false);
487 data.m_Widgets.m_wIcon.SetColor(
Color.FromInt(GUIColors.ORANGE.PackToInt()));
Voice over network entry data class, used for management of communication methods.