mischief-ecs
Safe HaskellNone
LanguageGHC2024

Mischief.ECS.World.Query.QueryFilter

Documentation

data QueryFilter (f :: FilterType) where Source #

Constructors

NoFilter :: forall (f :: FilterType). QueryFilter f 
With :: forall a (f :: FilterType). ToFilterComponent a => a -> QueryFilter f 
Without :: forall a (f :: FilterType). ToFilterComponent a => a -> QueryFilter f 
Changed :: forall a. ToFilterComponent a => a -> QueryFilter 'EntityFilter 
Added :: forall a. ToFilterComponent a => a -> QueryFilter 'EntityFilter 
Not :: forall (f :: FilterType). QueryFilter f -> QueryFilter f 
And :: forall (f :: FilterType). QueryFilter f -> QueryFilter f -> QueryFilter f 
Or :: forall (f :: FilterType). QueryFilter f -> QueryFilter f -> QueryFilter f 

Instances

Instances details
(Component c, Queryable q out) => RelQuery 'False (MR c (Q' q (QueryFilter 'ArchetypeFilter))) (Maybe [From out]) Source # 
Instance details

Defined in Mischief.ECS.World.Query.Queryable

(Component c, Queryable q out) => RelQuery 'False (R c (Q' q (QueryFilter 'ArchetypeFilter))) [From out] Source # 
Instance details

Defined in Mischief.ECS.World.Query.Queryable

(Component c, Queryable q out) => RelQuery 'True (MR c (Q' q (QueryFilter 'ArchetypeFilter))) (Maybe (From out)) Source # 
Instance details

Defined in Mischief.ECS.World.Query.Queryable

(Component c, Queryable q out) => RelQuery 'True (R c (Q' q (QueryFilter 'ArchetypeFilter))) (From out) Source # 
Instance details

Defined in Mischief.ECS.World.Query.Queryable

Semigroup (QueryFilter f) Source # 
Instance details

Defined in Mischief.ECS.World.Query.QueryFilter

(Component c, Queryable q out) => Queryable (HasR c (Q' q (QueryFilter 'ArchetypeFilter))) Bool Source # 
Instance details

Defined in Mischief.ECS.World.Query.Queryable