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);