UtilityQueryPrototype.cs 933 B

1234567891011121314151617181920212223242526272829
  1. using Content.Server.NPC.Queries.Considerations;
  2. using Content.Server.NPC.Queries.Queries;
  3. using Robust.Shared.Prototypes;
  4. namespace Content.Server.NPC.Queries;
  5. /// <summary>
  6. /// Stores data for generic queries.
  7. /// Each query is run in turn to get the final available results.
  8. /// These results are then run through the considerations.
  9. /// </summary>
  10. [Prototype]
  11. public sealed partial class UtilityQueryPrototype : IPrototype
  12. {
  13. [IdDataField]
  14. public string ID { get; private set; } = default!;
  15. [ViewVariables(VVAccess.ReadWrite), DataField("query")]
  16. public List<UtilityQuery> Query = new();
  17. [ViewVariables(VVAccess.ReadWrite), DataField("considerations")]
  18. public List<UtilityConsideration> Considerations = new();
  19. /// <summary>
  20. /// How many entities we are allowed to consider. This is applied after all queries have run.
  21. /// </summary>
  22. [DataField("limit")]
  23. public int Limit = 128;
  24. }