30 lines
847 B
C#
30 lines
847 B
C#
using Content.Server.GameObjects.Components.Explosion;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Physics;
|
|
using Robust.Shared.Physics.Collision;
|
|
using Robust.Shared.Physics.Dynamics;
|
|
|
|
namespace Content.Server.GameObjects.Components.Projectiles
|
|
{
|
|
[RegisterComponent]
|
|
public class ExplosiveProjectileComponent : Component, IStartCollide
|
|
{
|
|
public override string Name => "ExplosiveProjectile";
|
|
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
Owner.EnsureComponent<ExplosiveComponent>();
|
|
}
|
|
|
|
void IStartCollide.CollideWith(Fixture ourFixture, Fixture otherFixture, in Manifold manifold)
|
|
{
|
|
if (Owner.TryGetComponent(out ExplosiveComponent? explosive))
|
|
{
|
|
explosive.Explosion();
|
|
}
|
|
}
|
|
}
|
|
}
|