From 2f9f626ea95e359e81d4842f40a6b15861485a01 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 29 Mar 2022 00:26:39 +1100 Subject: [PATCH] Minor damage opt (#7322) --- Content.Shared/Damage/DamageSpecifier.cs | 5 +++-- Content.Shared/Damage/Systems/DamageableSystem.cs | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Content.Shared/Damage/DamageSpecifier.cs b/Content.Shared/Damage/DamageSpecifier.cs index 1f91b9126a..54c79f10a3 100644 --- a/Content.Shared/Damage/DamageSpecifier.cs +++ b/Content.Shared/Damage/DamageSpecifier.cs @@ -312,10 +312,11 @@ namespace Content.Shared.Damage /// total of each group. If no members of a group are present in this , the /// group is not included in the resulting dictionary. /// - public Dictionary GetDamagePerGroup() + public Dictionary GetDamagePerGroup(IPrototypeManager? protoManager = null) { + IoCManager.Resolve(ref protoManager); var damageGroupDict = new Dictionary(); - foreach (var group in IoCManager.Resolve().EnumeratePrototypes()) + foreach (var group in protoManager.EnumeratePrototypes()) { if (TryGetDamageInGroup(group, out var value)) { diff --git a/Content.Shared/Damage/Systems/DamageableSystem.cs b/Content.Shared/Damage/Systems/DamageableSystem.cs index e45eaa30c2..6902a3e943 100644 --- a/Content.Shared/Damage/Systems/DamageableSystem.cs +++ b/Content.Shared/Damage/Systems/DamageableSystem.cs @@ -55,7 +55,7 @@ namespace Content.Shared.Damage } } - component.DamagePerGroup = component.Damage.GetDamagePerGroup(); + component.DamagePerGroup = component.Damage.GetDamagePerGroup(_prototypeManager); component.TotalDamage = component.Damage.Total; } @@ -82,13 +82,13 @@ namespace Content.Shared.Damage public void DamageChanged(DamageableComponent component, DamageSpecifier? damageDelta = null, bool interruptsDoAfters = true) { - component.DamagePerGroup = component.Damage.GetDamagePerGroup(); + component.DamagePerGroup = component.Damage.GetDamagePerGroup(_prototypeManager); component.TotalDamage = component.Damage.Total; Dirty(component); if (EntityManager.TryGetComponent(component.Owner, out var appearance) && damageDelta != null) { - var data = new DamageVisualizerGroupData(damageDelta.GetDamagePerGroup().Keys.ToList()); + var data = new DamageVisualizerGroupData(damageDelta.GetDamagePerGroup(_prototypeManager).Keys.ToList()); appearance.SetData(DamageVisualizerKeys.DamageUpdateGroups, data); } RaiseLocalEvent(component.Owner, new DamageChangedEvent(component, damageDelta, interruptsDoAfters), false);