EventHorizonContainedEvent.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Robust.Shared.Containers;
  2. using Content.Shared.Singularity.Components;
  3. namespace Content.Shared.Singularity.EntitySystems;
  4. /// <summary>
  5. /// An event queued when an event horizon is contained (put into a container).
  6. /// Exists to delay the event horizon eating its way out of the container until events relating to the insertion have been processed.
  7. /// Needs to be a class because ref structs can't be put into the queue.
  8. /// </summary>
  9. public sealed class EventHorizonContainedEvent : EntityEventArgs
  10. {
  11. /// <summary>
  12. /// The uid of the event horizon that has been contained.
  13. /// </summary>
  14. public readonly EntityUid Entity;
  15. /// <summary>
  16. /// The state of the event horizon that has been contained.
  17. /// </summary>
  18. public readonly EventHorizonComponent EventHorizon;
  19. /// <summary>
  20. /// The arguments of the action that resulted in the event horizon being contained.
  21. /// </summary>
  22. public readonly EntGotInsertedIntoContainerMessage Args;
  23. public EventHorizonContainedEvent(EntityUid entity, EventHorizonComponent eventHorizon, EntGotInsertedIntoContainerMessage args)
  24. {
  25. Entity = entity;
  26. EventHorizon = eventHorizon;
  27. Args = args;
  28. }
  29. }