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); } }