Files
crystall-punk-14/Content.Server/Atmos/EntitySystems/AtmosphereSystem.BreathTool.cs

31 lines
893 B
C#
Raw Permalink Normal View History

2022-07-25 14:42:25 +10:00
using Content.Server.Atmos.Components;
using Content.Server.Body.Components;
namespace Content.Server.Atmos.EntitySystems;
public sealed partial class AtmosphereSystem
{
private void InitializeBreathTool()
{
SubscribeLocalEvent<BreathToolComponent, ComponentShutdown>(OnBreathToolShutdown);
}
private void OnBreathToolShutdown(Entity<BreathToolComponent> entity, ref ComponentShutdown args)
2022-07-25 14:42:25 +10:00
{
DisconnectInternals(entity);
2022-07-25 14:42:25 +10:00
}
public void DisconnectInternals(Entity<BreathToolComponent> entity)
2022-07-25 14:42:25 +10:00
{
var old = entity.Comp.ConnectedInternalsEntity;
entity.Comp.ConnectedInternalsEntity = null;
2022-07-25 14:42:25 +10:00
if (TryComp<InternalsComponent>(old, out var internalsComponent))
{
_internals.DisconnectBreathTool((old.Value, internalsComponent), entity.Owner);
2022-07-25 14:42:25 +10:00
}
entity.Comp.IsFunctional = false;
2022-07-25 14:42:25 +10:00
}
}