Disposal drop their contents if they're destroyed or unanchored. Fixes #4114 (#4269)

* Fixes #4114

Disposals now drop their contents if destroyed or if unwrenched

* Update DisposalUnitSystem.cs

* Update DisposalUnitSystem.cs
This commit is contained in:
Fiftyllama
2021-07-16 05:22:29 +02:00
committed by GitHub
parent fc9a15b288
commit eb7d65ad5b
2 changed files with 19 additions and 8 deletions

View File

@@ -1,4 +1,5 @@
using Content.Server.Disposal.Unit.Components;
using Content.Server.Disposal.Unit.Components;
using Content.Server.Construction.Components;
using Robust.Shared.GameObjects;
namespace Content.Server.Disposal.Unit.EntitySystems
@@ -9,15 +10,19 @@ namespace Content.Server.Disposal.Unit.EntitySystems
{
base.Initialize();
SubscribeLocalEvent<DisposalUnitComponent, PhysicsBodyTypeChangedEvent>(BodyTypeChanged);
SubscribeLocalEvent<DisposalUnitComponent, AnchoredEvent>(OnAnchored);
SubscribeLocalEvent<DisposalUnitComponent, UnanchoredEvent>(OnUnanchored);
}
private static void BodyTypeChanged(
EntityUid uid,
DisposalUnitComponent component,
PhysicsBodyTypeChangedEvent args)
private static void OnAnchored(EntityUid uid, DisposalUnitComponent component, AnchoredEvent args)
{
component.UpdateVisualState();
}
private static void OnUnanchored(EntityUid uid, DisposalUnitComponent component, UnanchoredEvent args)
{
component.UpdateVisualState();
component.TryEjectContents();
}
}
}