1
0

UtilityService.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  2. namespace Content.Server.NPC.Queries;
  3. /// <summary>
  4. /// Utility queries that run regularly to update an NPC without re-doing their thinking logic.
  5. /// </summary>
  6. [DataDefinition]
  7. public sealed partial class UtilityService
  8. {
  9. /// <summary>
  10. /// Identifier to use for this service. This is used to track its cooldown.
  11. /// </summary>
  12. [DataField("id", required: true)]
  13. public string ID = string.Empty;
  14. /// <summary>
  15. /// Prototype of the utility query.
  16. /// </summary>
  17. [DataField("proto", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<UtilityQueryPrototype>))]
  18. public string Prototype = string.Empty;
  19. [DataField("minCooldown")]
  20. public float MinCooldown = 0.25f;
  21. [DataField("maxCooldown")]
  22. public float MaxCooldown = 0.60f;
  23. /// <summary>
  24. /// Key to update with the utility query.
  25. /// </summary>
  26. [DataField("key", required: true)]
  27. public string Key = string.Empty;
  28. }