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.Dynamic.Reader
Description
Synopsis
- newtype DynamicQueryReader a = DynamicQueryReader {
- runDynQueryReader :: Archetype -> [a]
- class Functor f => DynamicQueryReaderF f where
- entity :: f EntityID
- fetchDyn :: Component a => ComponentID -> f a
- fetchMaybeDyn :: Component a => ComponentID -> f (Maybe a)
- allDyn :: Set ComponentID -> DynamicQueryReader a -> Entities -> [a]
- filterDyn :: Set ComponentID -> (Node -> Bool) -> DynamicQueryReader a -> Entities -> [a]
- singleDyn :: HasCallStack => Set ComponentID -> DynamicQueryReader a -> Entities -> a
- singleMaybeDyn :: Set ComponentID -> DynamicQueryReader a -> Entities -> Maybe a
- data DynamicQueryFilter = DynamicQueryFilter {
- filterWith :: !(Set ComponentID)
- filterWithout :: !(Set ComponentID)
Dynamic queries
newtype DynamicQueryReader a Source #
Dynamic query reader.
Since: 0.10
Constructors
DynamicQueryReader | |
Fields
|
Instances
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
allDyn :: Set ComponentID -> DynamicQueryReader a -> Entities -> [a] Source #
Match all entities.
Since: 0.10
filterDyn :: Set ComponentID -> (Node -> Bool) -> DynamicQueryReader a -> Entities -> [a] Source #
Match all entities with a filter.
Since: 0.10
singleDyn :: HasCallStack => Set ComponentID -> DynamicQueryReader a -> Entities -> a Source #
Match a single entity.
Since: 0.10
singleMaybeDyn :: Set ComponentID -> DynamicQueryReader a -> Entities -> Maybe a Source #
Match a single entity, or Nothing
.
Since: 0.10
Dynamic query filters
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 # |