SolutionSpikerComponent.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using Content.Shared.Chemistry.EntitySystems;
  2. using Robust.Shared.GameStates;
  3. namespace Content.Shared.Chemistry.Components;
  4. [RegisterComponent, NetworkedComponent, Access(typeof(SolutionSpikerSystem))]
  5. public sealed partial class SolutionSpikerComponent : Component
  6. {
  7. /// <summary>
  8. /// The source solution to take the reagents from in order
  9. /// to spike the other solution container.
  10. /// </summary>
  11. [DataField(required: true)]
  12. public string SourceSolution = string.Empty;
  13. /// <summary>
  14. /// If spiking with this entity should ignore empty containers or not.
  15. /// </summary>
  16. [DataField]
  17. public bool IgnoreEmpty;
  18. /// <summary>
  19. /// If true, the entity is deleted after spiking.
  20. /// This is almost certainly what you want.
  21. /// </summary>
  22. [DataField]
  23. public bool Delete = true;
  24. /// <summary>
  25. /// What should pop up when spiking with this entity.
  26. /// </summary>
  27. [DataField]
  28. public LocId Popup = "spike-solution-generic";
  29. /// <summary>
  30. /// What should pop up when spiking fails because the container was empty.
  31. /// </summary>
  32. [DataField]
  33. public LocId PopupEmpty = "spike-solution-empty-generic";
  34. }