aztecs-0.1.0.1: A type-safe and friendly ECS for Haskell
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Aztecs.Query

Synopsis

Documentation

data ReadWrites Source #

Component IDs to read and write.

Constructors

ReadWrites (Set TypeRep) (Set TypeRep) 

data Query m a where Source #

Builder for a Query.

Constructors

PureQ :: a -> Query m a 
MapQ :: (a -> b) -> Query m a -> Query m b 
AppQ :: Query m (a -> b) -> Query m a -> Query m b 
BindQ :: Query m a -> (a -> Query m b) -> Query m b 
EntityQ :: Query m Entity 
ReadQ :: Component c => Archetype -> Query m c 
WriteQ :: Component c => (c -> c) -> Archetype -> Query m c 
LiftQ :: m a -> Query m a 

Instances

Instances details
Applicative (Query m) Source # 
Instance details

Defined in Data.Aztecs.Query

Methods

pure :: a -> Query m a #

(<*>) :: Query m (a -> b) -> Query m a -> Query m b #

liftA2 :: (a -> b -> c) -> Query m a -> Query m b -> Query m c #

(*>) :: Query m a -> Query m b -> Query m b #

(<*) :: Query m a -> Query m b -> Query m a #

Functor (Query m) Source # 
Instance details

Defined in Data.Aztecs.Query

Methods

fmap :: (a -> b) -> Query m a -> Query m b #

(<$) :: a -> Query m b -> Query m a #

Monad (Query m) Source # 
Instance details

Defined in Data.Aztecs.Query

Methods

(>>=) :: Query m a -> (a -> Query m b) -> Query m b #

(>>) :: Query m a -> Query m b -> Query m b #

return :: a -> Query m a #

read :: forall m c. Component c => Query m c Source #

Read a Component.

all :: MonadIO m => ArchetypeId -> Query m a -> World -> m [a] Source #

all' :: MonadIO m => ArchetypeState -> Query m a -> World -> m [a] Source #

get :: MonadIO m => ArchetypeId -> Query m a -> Entity -> World -> m (Maybe a) Source #

get' :: MonadIO m => Entity -> ArchetypeState -> Query m a -> World -> m (Maybe a) Source #

write :: forall m c. Component c => (c -> c) -> Query m c Source #

Alter a Component.