26 lines
704 B
C#
26 lines
704 B
C#
#nullable enable
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Physics.Collision;
|
|
using Robust.Shared.Physics.Dynamics;
|
|
|
|
namespace Content.Server.Singularity.Components
|
|
{
|
|
[RegisterComponent]
|
|
public class ContainmentFieldComponent : Component, IStartCollide
|
|
{
|
|
public override string Name => "ContainmentField";
|
|
public ContainmentFieldConnection? Parent;
|
|
|
|
void IStartCollide.CollideWith(Fixture ourFixture, Fixture otherFixture, in Manifold manifold)
|
|
{
|
|
if (Parent == null)
|
|
{
|
|
Owner.QueueDelete();
|
|
return;
|
|
}
|
|
|
|
Parent.TryRepell(Owner, otherFixture.Body.Owner);
|
|
}
|
|
}
|
|
}
|