namespace OECS; /// /// Describes a query over the ECS world. /// Composed of a set of required component types ("with") and /// a set of excluded component types ("without"). /// public class QueryDescriptor { /// /// Component types that must be present on matching entities. /// public IReadOnlySet With { get; } /// /// Component types that must NOT be present on matching entities. /// public IReadOnlySet Without { get; } internal QueryDescriptor(HashSet with, HashSet without) { With = with; Without = without; } /// /// Returns true if this query has no "with" components (matches nothing). /// internal bool IsEmpty => With.Count == 0; }