using Content.Shared.Projectiles;
using Content.Shared.Trigger.Components.Triggers;
namespace Content.Shared.Trigger.Systems;
///
/// This handles subscriptions.
///
public sealed class TriggerOnEmbedSystem : TriggerOnXSystem
{
///
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent(OnEmbed);
SubscribeLocalEvent(OnStopEmbed);
}
private void OnEmbed(Entity ent, ref EmbedEvent args)
{
var user = ent.Comp.UserIsEmbeddedInto ? args.Embedded : args.Shooter;
Trigger.Trigger(ent, user, ent.Comp.KeyOut);
}
private void OnStopEmbed(Entity ent, ref EmbedDetachEvent args)
{
var user = ent.Comp.UserIsEmbeddedInto ? args.Embedded : args.Detacher;
Trigger.Trigger(ent, user, ent.Comp.KeyOut);
}
}