From 026b7b890cf1c6f508d60322c94bf67d6de8709c Mon Sep 17 00:00:00 2001 From: py01 <60152240+collinlunn@users.noreply.github.com> Date: Thu, 27 Aug 2020 08:27:49 -0600 Subject: [PATCH] ExAct for lockers (#1931) * ExAct for lockers * ToArray Co-authored-by: py01 --- .../Items/Storage/EntityStorageComponent.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs b/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs index 3bb2cd1161..ab4c181253 100644 --- a/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs +++ b/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs @@ -33,7 +33,7 @@ namespace Content.Server.GameObjects.Components.Items.Storage [RegisterComponent] [ComponentReference(typeof(IActivate))] [ComponentReference(typeof(IStorageComponent))] - public class EntityStorageComponent : Component, IActivate, IStorageComponent, IInteractUsing, IDestroyAct, IActionBlocker + public class EntityStorageComponent : Component, IActivate, IStorageComponent, IInteractUsing, IDestroyAct, IActionBlocker, IExAct { public override string Name => "EntityStorage"; @@ -430,5 +430,22 @@ namespace Content.Server.GameObjects.Components.Items.Storage data.Text = component.Open ? "Close" : "Open"; } + + void IExAct.OnExplosion(ExplosionEventArgs eventArgs) + { + if (eventArgs.Severity < ExplosionSeverity.Heavy) + { + return; + } + + foreach (var entity in Contents.ContainedEntities) + { + var exActs = entity.GetAllComponents().ToArray(); + foreach (var exAct in exActs) + { + exAct.OnExplosion(eventArgs); + } + } + } } }