ObjectiveInfo.cs 781 B

123456789101112131415161718
  1. using Content.Shared.Objectives.Components;
  2. using Robust.Shared.Serialization;
  3. using Robust.Shared.Utility;
  4. namespace Content.Shared.Objectives;
  5. /// <summary>
  6. /// Info about objectives visible in the character menu and on round end.
  7. /// Description and icon are displayed only in the character menu.
  8. /// Progress is a percentage from 0.0 to 1.0.
  9. /// </summary>
  10. /// <remarks>
  11. /// All of these fields must eventually be set by condition event handlers.
  12. /// Everything but progress can be set to static data in yaml on the entity and <see cref="ObjectiveComponent"/>.
  13. /// If anything is null it will be logged and return null.
  14. /// </remarks>
  15. [Serializable, NetSerializable]
  16. public record struct ObjectiveInfo(string Title, string Description, SpriteSpecifier Icon, float Progress);