3 const ResourceName INSPECT_CASUALTY_LAYOUT =
"{11AC7D61FD4CF3F6}UI/layouts/Damage/InspectCasualtyMenu.layout";
56 CharacterControllerComponent targetController =
char.GetCharacterController();
57 if (!targetController)
80 CharacterControllerComponent controller =
char.GetCharacterController();
104 if (playerMgr && playerMgr.GetPlatformKind(playerMgr.GetPlayerIdFromControlledEntity(
m_Target)) ==
PlatformKind.PSN)
105 sName =
string.Format(
"<color rgba=%1><image set='%2' name='%3' scale='%4'/></color>",
UIColors.FormatColor(GUIColors.ENABLED),
UIConstants.ICONS_IMAGE_SET,
UIConstants.PLATFROM_PLAYSTATION_ICON_NAME, 2) + sName;
107 sName =
string.Format(
"<color rgba=%1><image set='%2' name='%3' scale='%4'/></color>",
UIColors.FormatColor(GUIColors.ENABLED),
UIConstants.ICONS_IMAGE_SET,
UIConstants.PLATFROM_GENERIC_ICON_NAME, 2) + sName;
111 int groupDamageIntensity;
112 bool regenerating, isTourniquetted, isSalineBagged, isMorphined;
113 string damageIntensity, damageIntensityText, bleedingIntensityText;
114 array<bool> hZGroupsBleeding = {};
116 SCR_InventoryHitZonePointUI hitZonePointUI =
new SCR_InventoryHitZonePointUI();
117 GetDamageInfo(hitZonePointUI,
m_Target, bleedingRate, hZGroupsBleeding, groupDamageIntensity, regenerating, isTourniquetted, isSalineBagged, isMorphined);
118 hitZonePointUI.GetDamageInfoTexts(
EHitZoneGroup.VIRTUAL, groupDamageIntensity, bleedingRate, damageIntensity, damageIntensityText, bleedingIntensityText);
124 damageInfoUI.
SetDamageStateVisible(groupDamageIntensity, regenerating, damageIntensity, damageIntensityText);
148 int winX = workspace.GetWidth();
149 int winY = workspace.GetHeight();
150 int posX = workspace.DPIScale(pos[0]);
151 int posY = workspace.DPIScale(pos[1]);
154 if (posX < 0 || posX > winX || posY > winY || posY < 0)
169 float distanceOpacityReduction = 1;
172 distanceOpacityReduction = 0;
174 distanceOpacityReduction =
Math.InverseLerp(3, 4, dist);
180 protected void GetDamageInfo(SCR_InventoryHitZonePointUI hitZonePointUI,
IEntity targetEntity, inout
float bleedingRate, inout array<bool> hZGroupsBleeding, inout
int damageIntensity, inout
bool regenerating, inout
bool isTourniquetted, inout
bool isSalineBagged, inout
bool isMorphined)
190 float defaultHZHealth = damageMan.GetHealthScaled();
194 hZGroupsBleeding = {};
195 hZGroupsBleeding.Resize(damageMan.
LIMB_GROUPS.Count());
203 array<EHitZoneGroup> limbGroups = {};
207 if (!isTourniquetted)
216 isMorphined = !effects.IsEmpty();
223 if (defaultHZHealth == 1)
225 else if (defaultHZHealth < hitZonePointUI.m_fLowDamageThreshold)
227 else if (defaultHZHealth < hitZonePointUI.m_fMediumDamageThreshold)
229 else if (defaultHZHealth < hitZonePointUI.m_fHighDamageThreshold)
238 string sFormat, sAlias, sSurname;
239 int playerID =
GetGame().GetPlayerManager().GetPlayerIdFromControlledEntity(targetCharacter);
248 SCR_CharacterIdentityComponent scrCharIdentity = SCR_CharacterIdentityComponent.Cast(targetCharacter.
FindComponent(SCR_CharacterIdentityComponent));
251 scrCharIdentity.GetFormattedFullName(sFormat, sName, sAlias, sSurname);
252 sName = sName +
" " + sSurname;
256 CharacterIdentityComponent charIdentity = CharacterIdentityComponent.Cast(targetCharacter.
FindComponent(CharacterIdentityComponent));
257 if (charIdentity && charIdentity.GetIdentity())
258 sName = charIdentity.GetIdentity().GetName();
ArmaReforgerScripted GetGame()
proto external Managed FindComponent(typename typeName)
static ref array< ECharacterHitZoneGroup > LIMB_GROUPS
bool GetGroupSalineBagged(ECharacterHitZoneGroup hitZoneGroup)
SCR_CharacterBloodHitZone GetBloodHitZone()
bool GetGroupTourniquetted(ECharacterHitZoneGroup hitZoneGroup)
static void GetAllLimbs(notnull out array< ECharacterHitZoneGroup > limbs)
override float GetGroupDamageOverTime(ECharacterHitZoneGroup hitZoneGroup, EDamageType damageType)
void SetSalineBagStateVisible(bool visible)
void SetTourniquetStateVisible(bool visible)
void SetDamageStateVisible(bool visible, bool regenerating, string iconIntensity, string damageText)
void SetName(string sName)
void SetBleedingStateVisible(bool visible, string bleedingText)
void SetMorphineStateVisible(bool visible)
void SetFractureStateVisible(bool armFractured, bool legFractured)
SCR_EditableEntityComponent GetControlledEntity()
void SetEnabled(bool enabled)
proto external PlayerController GetPlayerController()