1
0

IntellicardComponent.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Robust.Shared.Audio;
  2. using Robust.Shared.GameStates;
  3. namespace Content.Shared.Intellicard;
  4. /// <summary>
  5. /// Allows this entity to download the station AI onto an AiHolderComponent.
  6. /// </summary>
  7. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
  8. public sealed partial class IntellicardComponent : Component
  9. {
  10. /// <summary>
  11. /// The duration it takes to download the AI from an AiHolder.
  12. /// </summary>
  13. [DataField, AutoNetworkedField]
  14. public int DownloadTime = 15;
  15. /// <summary>
  16. /// The duration it takes to upload the AI to an AiHolder.
  17. /// </summary>
  18. [DataField, AutoNetworkedField]
  19. public int UploadTime = 3;
  20. /// <summary>
  21. /// The sound that plays for the AI
  22. /// when they are being downloaded
  23. /// </summary>
  24. [DataField, AutoNetworkedField]
  25. public SoundSpecifier? WarningSound = new SoundPathSpecifier("/Audio/Misc/notice2.ogg");
  26. /// <summary>
  27. /// The delay before allowing the warning to play again in seconds.
  28. /// </summary>
  29. [DataField, AutoNetworkedField]
  30. public TimeSpan WarningDelay = TimeSpan.FromSeconds(8);
  31. [ViewVariables]
  32. public TimeSpan NextWarningAllowed = TimeSpan.Zero;
  33. }