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;
}