using Content.Server.NPC.Queries.Considerations;
using Content.Server.NPC.Queries.Queries;
using Robust.Shared.Prototypes;
namespace Content.Server.NPC.Queries;
///
/// Stores data for generic queries.
/// Each query is run in turn to get the final available results.
/// These results are then run through the considerations.
///
[Prototype]
public sealed partial class UtilityQueryPrototype : IPrototype
{
[IdDataField]
public string ID { get; private set; } = default!;
[ViewVariables(VVAccess.ReadWrite), DataField("query")]
public List Query = new();
[ViewVariables(VVAccess.ReadWrite), DataField("considerations")]
public List Considerations = new();
///
/// How many entities we are allowed to consider. This is applied after all queries have run.
///
[DataField("limit")]
public int Limit = 128;
}