aztecs-0.8.0: A modular game engine and Entity-Component-System (ECS) for Haskell.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Aztecs.ECS.Schedule

Contents

Synopsis

Schedules

newtype ScheduleT m i o Source #

System schedule.

Constructors

Schedule 

Instances

Instances details
Monad m => Category (ScheduleT m :: Type -> Type -> Type) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

id :: forall (a :: k). ScheduleT m a a #

(.) :: forall (b :: k) (c :: k) (a :: k). ScheduleT m b c -> ScheduleT m a b -> ScheduleT m a c #

Monad m => ArrowAccessSchedule Bundle (AccessT m) (Schedule m) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

access :: (i -> AccessT m o) -> Schedule m i o Source #

Monad m => Arrow (ScheduleT m) Source # 
Instance details

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 # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

loop :: ScheduleT m (b, d) (c, d) -> ScheduleT m b c #

Monad m => ArrowSchedule (SystemT m) (Schedule m) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

system :: SystemT m i o -> Schedule m i o Source #

Monad m => ArrowReaderSchedule (ReaderSystemT m) (Schedule m) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

reader :: ReaderSystemT m i o -> Schedule m i o Source #

Functor m => Functor (ScheduleT m i) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

fmap :: (a -> b) -> ScheduleT m i a -> ScheduleT m i b #

(<$) :: a -> ScheduleT m i b -> ScheduleT m i a #

class Arrow arr => ArrowReaderSchedule s arr | arr -> s where Source #

Schedule arrow that runs read-only systems.

Methods

reader :: s i o -> arr i o Source #

Schedule a reader system.

Instances

Instances details
Monad m => ArrowReaderSchedule (ReaderSystemT m) (Schedule m) Source # 
Instance details

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.

Methods

system :: s i o -> arr i o Source #

Schedule a system.

Instances

Instances details
Monad m => ArrowSchedule (SystemT m) (Schedule m) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

system :: SystemT m i o -> Schedule m i o Source #

class (MonadAccess b m, Arrow arr) => ArrowAccessSchedule b m arr | arr -> m where Source #

Schedule arrow that provides access to a World.

Methods

access :: (i -> m o) -> arr i o Source #

Access the World.

Instances

Instances details
Monad m => ArrowAccessSchedule Bundle (AccessT m) (Schedule m) Source # 
Instance details

Defined in Aztecs.ECS.Schedule

Methods

access :: (i -> AccessT m o) -> Schedule m i o Source #

Monad m => ArrowAccessSchedule Bundle (AccessT m) (AcessSchedule m) Source # 
Instance details

Defined in Aztecs.ECS.Schedule.Access

Methods

access :: (i -> AccessT m o) -> AcessSchedule m i o Source #

delay :: Monad m => a -> Schedule m a a Source #

forever :: Schedule IO i o -> (o -> IO ()) -> Schedule IO i () 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 #