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

Aztecs.ECS.Access

Synopsis

Documentation

newtype AccessT m a Source #

Access into the World.

Constructors

AccessT 

Fields

Instances

Instances details
ArrowQueueSystem Bundle Access QueueSystem Source # 
Instance details

Defined in Aztecs.ECS.System.Queue

Methods

queue :: (i -> Access ()) -> QueueSystem i () Source #

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

Defined in Aztecs.ECS.Access

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 #

Monad m => ArrowQueueSystem Bundle (AccessT m) (SystemT m) Source # 
Instance details

Defined in Aztecs.ECS.System

Methods

queue :: (i -> AccessT m ()) -> SystemT m i () Source #

Monad m => ArrowQueueSystem Bundle (AccessT m) (DynamicSystemT m) Source # 
Instance details

Defined in Aztecs.ECS.System.Dynamic

Methods

queue :: (i -> AccessT m ()) -> DynamicSystemT m i () Source #

Monad m => ArrowQueueSystem Bundle (AccessT m) (DynamicReaderSystemT m) Source # 
Instance details

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

Defined in Aztecs.ECS.System.Reader

Methods

queue :: (i -> AccessT m ()) -> ReaderSystemT m i () Source #

MonadFix m => MonadFix (AccessT m) Source # 
Instance details

Defined in Aztecs.ECS.Access

Methods

mfix :: (a -> AccessT m a) -> AccessT m a #

MonadIO m => MonadIO (AccessT m) Source # 
Instance details

Defined in Aztecs.ECS.Access

Methods

liftIO :: IO a -> AccessT m a #

Monad m => Applicative (AccessT m) Source # 
Instance details

Defined in Aztecs.ECS.Access

Methods

pure :: a -> AccessT m a #

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

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

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

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

Functor m => Functor (AccessT m) Source # 
Instance details

Defined in Aztecs.ECS.Access

Methods

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

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

Monad m => Monad (AccessT m) Source # 
Instance details

Defined in Aztecs.ECS.Access

Methods

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

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

return :: a -> AccessT m a #

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 #

class (MonoidBundle b, Monad m) => MonadAccess b m | m -> b where Source #

Monadic access to a World.

Minimal complete definition

spawn, insert, lookup, remove, despawn

Methods

spawn :: b -> m EntityID Source #

Spawn an entity with a component.

spawn_ :: b -> m () Source #

Spawn an entity with a component.

insert :: Component a => EntityID -> a -> m () Source #

Insert a component into an entity.

lookup :: Component a => EntityID -> m (Maybe a) Source #

Lookup a component on an entity.

remove :: Component a => EntityID -> m (Maybe a) Source #

Remove a component from an entity.

despawn :: EntityID -> m () Source #

Despawn an entity.

Instances

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

Defined in Aztecs.ECS.Access

runAccessT :: Functor m => AccessT m a -> World -> m (a, World) Source #

Run an Access on a World, returning the output and updated World.