| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Mischief.ECS.World.Query.QueryFilter
Documentation
qfChangedF :: ComponentTicks -> Tick -> Tick -> Bool Source #
data FilterType Source #
Constructors
| ArchetypeFilter | |
| EntityFilter |
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
newtype FilterComponent Source #
class ToFilterComponent a where Source #
Methods
toFilterComponent :: a -> FilterComponent Source #
Instances
| Component c => ToFilterComponent (C c) Source # | |
Defined in Mischief.ECS.World.Query.QueryFilter Methods toFilterComponent :: C c -> FilterComponent Source # | |
| Component c => ToFilterComponent (R c Entity) Source # | |
Defined in Mischief.ECS.World.Query.QueryFilter Methods toFilterComponent :: R c Entity -> FilterComponent Source # | |
| Component c => ToFilterComponent (R c Any) Source # | |
Defined in Mischief.ECS.World.Query.QueryFilter Methods toFilterComponent :: R c Any -> FilterComponent Source # | |
filterArchetype' :: FilterComponent -> World -> [ComponentId] -> IO Bool Source #
filterArchetype :: QueryFilter 'ArchetypeFilter -> World -> [ComponentId] -> IO Bool Source #
preprocessFilter :: forall (f :: FilterType). QueryFilter f -> QueryFilter f Source #
propagateQFNot :: forall (f :: FilterType). QueryFilter f -> QueryFilter f Source #