Files
crystall-punk-14/Content.Server/Construction/Completions/DeleteEntity.cs
2022-07-30 19:53:17 -07:00

30 lines
787 B
C#

using Content.Shared.Construction;
using JetBrains.Annotations;
namespace Content.Server.Construction.Completions
{
public sealed class ConstructionBeforeDeleteEvent : CancellableEntityEventArgs
{
public EntityUid? User;
public ConstructionBeforeDeleteEvent(EntityUid? user)
{
User = user;
}
}
[UsedImplicitly]
[DataDefinition]
public sealed class DeleteEntity : IGraphAction
{
public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
{
var ev = new ConstructionBeforeDeleteEvent(userUid);
entityManager.EventBus.RaiseLocalEvent(uid, ev);
if (!ev.Cancelled)
entityManager.DeleteEntity(uid);
}
}
}