| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Aztecs.ECS.System
Synopsis
- type System = SystemT Identity
- newtype SystemT m i o = System {
- runSystem :: Components -> (DynamicSystemT m i o, ReadsWrites, Components)
- class Arrow arr => ArrowReaderSystem q arr | arr -> q where
- all :: q i a -> arr i [a]
- filter :: q () a -> QueryFilter -> arr () [a]
- single :: q i a -> arr i a
- class Arrow arr => ArrowSystem q arr | arr -> q where
- map :: q i a -> arr i [a]
- map_ :: q i o -> arr i ()
- filterMap :: q i a -> QueryFilter -> arr i [a]
- mapSingle :: q i a -> arr i a
- mapSingleMaybe :: q i a -> arr i (Maybe a)
- class (MonadAccess b m, Arrow arr) => ArrowQueueSystem b m arr | arr -> m where
- queue :: (i -> m ()) -> arr i ()
- fromReader :: Monad m => ReaderSystemT m i o -> SystemT m i o
Documentation
newtype SystemT m i o Source #
System to process entities.
Constructors
| System | |
Fields
| |
Instances
| Monad m => ArrowSystem Query (SystemT m) Source # | |
| Monad m => ArrowReaderSystem QueryReader (SystemT m) Source # | |
Defined in Aztecs.ECS.System Methods all :: QueryReader i a -> SystemT m i [a] Source # filter :: QueryReader () a -> QueryFilter -> SystemT m () [a] Source # single :: QueryReader i a -> SystemT m i a Source # | |
| Monad m => Category (SystemT m :: Type -> Type -> Type) Source # | |
| Monad m => ArrowQueueSystem Bundle (AccessT m) (SystemT m) Source # | |
| Monad m => Arrow (SystemT m) Source # | |
Defined in Aztecs.ECS.System | |
| Monad m => ArrowChoice (SystemT m) Source # | |
Defined in Aztecs.ECS.System | |
| Monad m => ArrowLoop (SystemT m) Source # | |
Defined in Aztecs.ECS.System | |
| Monad m => ArrowSchedule (SystemT m) (Schedule m) Source # | |
| Functor (SystemT m i) Source # | |
class Arrow arr => ArrowReaderSystem q arr | arr -> q where Source #
Methods
all :: q i a -> arr i [a] Source #
Query all matching entities.
filter :: q () a -> QueryFilter -> arr () [a] Source #
Query all matching entities with a QueryFilter.
single :: q i a -> arr i a Source #
Query a single matching entity. If there are zero or multiple matching entities, an error will be thrown.
Instances
| Monad m => ArrowReaderSystem QueryReader (SystemT m) Source # | |
Defined in Aztecs.ECS.System Methods all :: QueryReader i a -> SystemT m i [a] Source # filter :: QueryReader () a -> QueryFilter -> SystemT m () [a] Source # single :: QueryReader i a -> SystemT m i a Source # | |
| Monad m => ArrowReaderSystem QueryReader (ReaderSystemT m) Source # | |
Defined in Aztecs.ECS.System.Reader Methods all :: QueryReader i a -> ReaderSystemT m i [a] Source # filter :: QueryReader () a -> QueryFilter -> ReaderSystemT m () [a] Source # single :: QueryReader i a -> ReaderSystemT m i a Source # | |
class Arrow arr => ArrowSystem q arr | arr -> q where Source #
Minimal complete definition
Methods
map :: q i a -> arr i [a] Source #
Query and update all matching entities.
map_ :: q i o -> arr i () Source #
Query and update all matching entities, ignoring the results.
filterMap :: q i a -> QueryFilter -> arr i [a] Source #
Map all matching entities with a QueryFilter, storing the updated entities.
mapSingle :: q i a -> arr i a Source #
Map a single matching entity, storing the updated components. If there are zero or multiple matching entities, an error will be thrown.
mapSingleMaybe :: q i a -> arr i (Maybe a) Source #
class (MonadAccess b m, Arrow arr) => ArrowQueueSystem b m arr | arr -> m where Source #
Methods
queue :: (i -> m ()) -> arr i () Source #
Queue an Access to happen after this system schedule.
Instances
| ArrowQueueSystem Bundle Access QueueSystem Source # | |
Defined in Aztecs.ECS.System.Queue Methods queue :: (i -> Access ()) -> QueueSystem i () Source # | |
| Monad m => ArrowQueueSystem Bundle (AccessT m) (SystemT m) Source # | |
| Monad m => ArrowQueueSystem Bundle (AccessT m) (DynamicSystemT m) Source # | |
Defined in Aztecs.ECS.System.Dynamic Methods queue :: (i -> AccessT m ()) -> DynamicSystemT m i () Source # | |
| Monad m => ArrowQueueSystem Bundle (AccessT m) (DynamicReaderSystemT m) Source # | |
Defined in Aztecs.ECS.System.Dynamic.Reader Methods queue :: (i -> AccessT m ()) -> DynamicReaderSystemT m i () Source # | |
| Monad m => ArrowQueueSystem Bundle (AccessT m) (ReaderSystemT m) Source # | |
Defined in Aztecs.ECS.System.Reader Methods queue :: (i -> AccessT m ()) -> ReaderSystemT m i () Source # | |
fromReader :: Monad m => ReaderSystemT m i o -> SystemT m i o Source #