using Content.Shared.Damage; using Content.Shared.FixedPoint; using Content.Shared.MedicalScanner; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; using Robust.Client.UserInterface; namespace Content.Client.HealthAnalyzer.UI.Tooltips; [GenerateTypedNameReferences] public sealed partial class BloodOxygenationTooltip : PanelContainer { public BloodOxygenationTooltip() { RobustXamlLoader.Load(this); } public void Update(HealthAnalyzerScannedUserMessage msg, Entity ent) { if (msg.WoundableData is not { } woundable) return; var asphyxiation = FixedPoint2.Zero; ent.Comp.Damage.DamageDict.TryGetValue("Asphyxiation", out asphyxiation); var (systolic, diastolic) = woundable.BloodPressure; Label.Text = Loc.GetString("health-analyzer-blood-saturation-tooltip", ("rating", woundable.BloodOxygenationRating), ("systolic", systolic), ("diastolic", diastolic), ("asphyxiation", asphyxiation)); } }