Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Aztecs.ECS.Schedule
Contents
Synopsis
- type Schedule m = ScheduleT (AccessT m)
- newtype ScheduleT m i o = Schedule {
- runSchedule' :: Components -> (DynamicScheduleT m i o, Components)
- class Arrow arr => ArrowReaderSchedule s arr | arr -> s where
- reader :: s i o -> arr i o
- class Arrow arr => ArrowSchedule s arr | arr -> s where
- system :: s i o -> arr i o
- class (MonadAccess b m, Arrow arr) => ArrowAccessSchedule b m arr | arr -> m where
- access :: (i -> m o) -> arr i o
- fromReaderSchedule :: Monad m => ReaderScheduleT m i o -> ScheduleT m i o
- delay :: Monad m => a -> Schedule m a a
- forever :: Schedule IO i o -> (o -> IO ()) -> Schedule IO i ()
- forever_ :: Schedule IO i o -> Schedule IO i ()
- runSchedule :: Monad m => Schedule m i o -> World -> i -> m (o, DynamicSchedule m i o, World)
- runSchedule_ :: Monad m => Schedule m () () -> m ()
Schedules
newtype ScheduleT m i o Source #
System schedule.
Constructors
Schedule | |
Fields
|
Instances
Monad m => Category (ScheduleT m :: Type -> Type -> Type) Source # | |
Monad m => ArrowAccessSchedule Bundle (AccessT m) (Schedule m) Source # | |
Monad m => Arrow (ScheduleT m) Source # | |
Defined in Aztecs.ECS.Schedule Methods arr :: (b -> c) -> ScheduleT m b c # first :: ScheduleT m b c -> ScheduleT m (b, d) (c, d) # second :: ScheduleT m b c -> ScheduleT m (d, b) (d, c) # (***) :: ScheduleT m b c -> ScheduleT m b' c' -> ScheduleT m (b, b') (c, c') # (&&&) :: ScheduleT m b c -> ScheduleT m b c' -> ScheduleT m b (c, c') # | |
MonadFix m => ArrowLoop (ScheduleT m) Source # | |
Defined in Aztecs.ECS.Schedule | |
Monad m => ArrowSchedule (SystemT m) (Schedule m) Source # | |
Monad m => ArrowReaderSchedule (ReaderSystemT m) (Schedule m) Source # | |
Defined in Aztecs.ECS.Schedule Methods reader :: ReaderSystemT m i o -> Schedule m i o Source # | |
Functor m => Functor (ScheduleT m i) Source # | |
class Arrow arr => ArrowReaderSchedule s arr | arr -> s where Source #
Schedule arrow that runs read-only systems.
Instances
Monad m => ArrowReaderSchedule (ReaderSystemT m) (Schedule m) Source # | |
Defined in Aztecs.ECS.Schedule Methods reader :: ReaderSystemT m i o -> Schedule m i o Source # |
class Arrow arr => ArrowSchedule s arr | arr -> s where Source #
Schedule arrow that runs systems.
class (MonadAccess b m, Arrow arr) => ArrowAccessSchedule b m arr | arr -> m where Source #
Schedule arrow that provides access to a World
.
Instances
Monad m => ArrowAccessSchedule Bundle (AccessT m) (Schedule m) Source # | |
Monad m => ArrowAccessSchedule Bundle (AccessT m) (AcessSchedule m) Source # | |
Defined in Aztecs.ECS.Schedule.Access Methods access :: (i -> AccessT m o) -> AcessSchedule m i o Source # |
fromReaderSchedule :: Monad m => ReaderScheduleT m i o -> ScheduleT m i o Source #
runSchedule :: Monad m => Schedule m i o -> World -> i -> m (o, DynamicSchedule m i o, World) Source #
runSchedule_ :: Monad m => Schedule m () () -> m () Source #