Copyright | (c) Matt Hunzinger 2025 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | matt@hunzinger.me |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Aztecs.ECS.Query.Reader
Description
Synopsis
- newtype QueryReader a = QueryReader {
- runQueryReader :: Components -> (Set ComponentID, Components, DynamicQueryReader a)
- class Functor f => QueryReaderF f where
- fetch :: Component a => f a
- fetchMaybe :: Component a => f (Maybe a)
- class Functor f => DynamicQueryReaderF f where
- entity :: f EntityID
- fetchDyn :: Component a => ComponentID -> f a
- fetchMaybeDyn :: Component a => ComponentID -> f (Maybe a)
- all :: QueryReader a -> Entities -> ([a], Entities)
- all' :: QueryReader a -> Entities -> ([a], Components)
- single :: HasCallStack => QueryReader a -> Entities -> (a, Entities)
- single' :: HasCallStack => QueryReader a -> Entities -> (a, Components)
- singleMaybe :: QueryReader a -> Entities -> (Maybe a, Entities)
- singleMaybe' :: QueryReader a -> Entities -> (Maybe a, Components)
- newtype QueryFilter = QueryFilter {}
- with :: forall a. Component a => QueryFilter
- without :: forall a. Component a => QueryFilter
- data DynamicQueryFilter = DynamicQueryFilter {
- filterWith :: !(Set ComponentID)
- filterWithout :: !(Set ComponentID)
Queries
newtype QueryReader a Source #
Query to read from entities.
Since: 0.10
Constructors
QueryReader | |
Fields
|
Instances
class Functor f => QueryReaderF f where Source #
Query reader functor.
Since: 0.10
Minimal complete definition
Methods
fetch :: Component a => f a Source #
Fetch a Component
by its type.
Since: 0.10
fetchMaybe :: Component a => f (Maybe a) Source #
Instances
QueryReaderF QueryReader Source # | Since: 0.10 |
Defined in Aztecs.ECS.Query.Reader Methods fetch :: Component a => QueryReader a Source # fetchMaybe :: Component a => QueryReader (Maybe a) Source # | |
Applicative f => QueryReaderF (QueryT f) Source # | Since: 0.10 |
class Functor f => DynamicQueryReaderF f where Source #
Dynamic query reader functor.
Since: 0.10
Methods
Fetch the currently matched EntityID
.
Since: 0.10
fetchDyn :: Component a => ComponentID -> f a Source #
Fetch a Component
by its ComponentID
.
Since: 0.10
fetchMaybeDyn :: Component a => ComponentID -> f (Maybe a) Source #
Try to fetch a Component
by its ComponentID
.
Since: 0.10
Instances
DynamicQueryReaderF DynamicQuery Source # | Since: 0.10 |
Defined in Aztecs.ECS.Query.Dynamic Methods entity :: DynamicQuery EntityID Source # fetchDyn :: Component a => ComponentID -> DynamicQuery a Source # fetchMaybeDyn :: Component a => ComponentID -> DynamicQuery (Maybe a) Source # | |
DynamicQueryReaderF DynamicQueryReader Source # | Since: 0.10 |
Defined in Aztecs.ECS.Query.Dynamic.Reader Methods entity :: DynamicQueryReader EntityID Source # fetchDyn :: Component a => ComponentID -> DynamicQueryReader a Source # fetchMaybeDyn :: Component a => ComponentID -> DynamicQueryReader (Maybe a) Source # | |
DynamicQueryReaderF QueryReader Source # | Since: 0.10 |
Defined in Aztecs.ECS.Query.Reader Methods entity :: QueryReader EntityID Source # fetchDyn :: Component a => ComponentID -> QueryReader a Source # fetchMaybeDyn :: Component a => ComponentID -> QueryReader (Maybe a) Source # | |
Applicative f => DynamicQueryReaderF (QueryT f) Source # | Since: 0.10 |
Defined in Aztecs.ECS.Query |
Running
all' :: QueryReader a -> Entities -> ([a], Components) Source #
Match all entities.
Since: 0.10
single :: HasCallStack => QueryReader a -> Entities -> (a, Entities) Source #
Match a single entity.
Since: 0.10
single' :: HasCallStack => QueryReader a -> Entities -> (a, Components) Source #
Match a single entity.
Since: 0.10
singleMaybe :: QueryReader a -> Entities -> (Maybe a, Entities) Source #
Match a single entity.
Since: 0.10
singleMaybe' :: QueryReader a -> Entities -> (Maybe a, Components) Source #
Match a single entity.
Since: 0.10
Filters
newtype QueryFilter Source #
Filter for a Query
.
Since: 0.9
Constructors
QueryFilter | |
Fields
|
Instances
Monoid QueryFilter Source # | Since: 0.9 |
Defined in Aztecs.ECS.Query.Reader Methods mempty :: QueryFilter # mappend :: QueryFilter -> QueryFilter -> QueryFilter # mconcat :: [QueryFilter] -> QueryFilter # | |
Semigroup QueryFilter Source # | Since: 0.9 |
Defined in Aztecs.ECS.Query.Reader Methods (<>) :: QueryFilter -> QueryFilter -> QueryFilter # sconcat :: NonEmpty QueryFilter -> QueryFilter # stimes :: Integral b => b -> QueryFilter -> QueryFilter # |
with :: forall a. Component a => QueryFilter Source #
Filter for entities containing this component.
Since: 0.9
without :: forall a. Component a => QueryFilter Source #
Filter out entities containing this component.
Since: 0.9
data DynamicQueryFilter Source #
Dynamic query for components by ID.
Dynamic query filter.
Since: 0.9
Constructors
DynamicQueryFilter | |
Fields
|
Instances
Monoid DynamicQueryFilter Source # | Since: 0.9 |
Defined in Aztecs.ECS.Query.Dynamic.Reader Methods mempty :: DynamicQueryFilter # mappend :: DynamicQueryFilter -> DynamicQueryFilter -> DynamicQueryFilter # mconcat :: [DynamicQueryFilter] -> DynamicQueryFilter # | |
Semigroup DynamicQueryFilter Source # | Since: 0.9 |
Defined in Aztecs.ECS.Query.Dynamic.Reader Methods (<>) :: DynamicQueryFilter -> DynamicQueryFilter -> DynamicQueryFilter # sconcat :: NonEmpty DynamicQueryFilter -> DynamicQueryFilter # stimes :: Integral b => b -> DynamicQueryFilter -> DynamicQueryFilter # |