aztecs-0.14.0: A modular game engine and Entity-Component-System (ECS) for Haskell.
Safe HaskellNone
LanguageHaskell2010

Aztecs.Internal

Documentation

newtype AztecsT (cs :: [Type]) (m :: Type -> Type) a Source #

Constructors

AztecsT 

Fields

Instances

Instances details
(PrimMonad m, Typeable c, Component (AztecsT cs m) c, AdjustM m (SparseStorage m c) (WorldComponents m cs)) => Bundleable c (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Methods

bundle :: c -> Bundle (Entity (AztecsT cs m)) (AztecsT cs m) Source #

MonadTrans (AztecsT cs) Source # 
Instance details

Defined in Aztecs.Internal

Methods

lift :: Monad m => m a -> AztecsT cs m a #

PrimMonad m => ECS (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type Entity (AztecsT cs m) 
Instance details

Defined in Aztecs.Internal

type Entity (AztecsT cs m) = Entity
type Task (AztecsT cs m) 
Instance details

Defined in Aztecs.Internal

type Task (AztecsT cs m) = Commands (AztecsT cs) m

Methods

spawn :: Bundle (Entity (AztecsT cs m)) (AztecsT cs m) -> AztecsT cs m (Entity (AztecsT cs m)) Source #

insert :: Entity (AztecsT cs m) -> Bundle (Entity (AztecsT cs m)) (AztecsT cs m) -> AztecsT cs m () Source #

remove :: Entity (AztecsT cs m) -> AztecsT cs m () Source #

task :: Task (AztecsT cs m) a -> AztecsT cs m a Source #

MonadIO m => MonadIO (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Methods

liftIO :: IO a -> AztecsT cs m a #

Monad m => Applicative (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Methods

pure :: a -> AztecsT cs m a #

(<*>) :: AztecsT cs m (a -> b) -> AztecsT cs m a -> AztecsT cs m b #

liftA2 :: (a -> b -> c) -> AztecsT cs m a -> AztecsT cs m b -> AztecsT cs m c #

(*>) :: AztecsT cs m a -> AztecsT cs m b -> AztecsT cs m b #

(<*) :: AztecsT cs m a -> AztecsT cs m b -> AztecsT cs m a #

Functor m => Functor (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Methods

fmap :: (a -> b) -> AztecsT cs m a -> AztecsT cs m b #

(<$) :: a -> AztecsT cs m b -> AztecsT cs m a #

Monad m => Monad (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Methods

(>>=) :: AztecsT cs m a -> (a -> AztecsT cs m b) -> AztecsT cs m b #

(>>) :: AztecsT cs m a -> AztecsT cs m b -> AztecsT cs m b #

return :: a -> AztecsT cs m a #

PrimMonad m => PrimMonad (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type PrimState (AztecsT cs m) 
Instance details

Defined in Aztecs.Internal

type PrimState (AztecsT cs m) = PrimState (StateT (World m cs) m)

Methods

primitive :: (State# (PrimState (AztecsT cs m)) -> (# State# (PrimState (AztecsT cs m)), a #)) -> AztecsT cs m a #

PrimMonad m => Queryable (AztecsT cs m) Entity Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type QueryableAccess Entity 
Instance details

Defined in Aztecs.Internal

type QueryableAccess Entity = '[] :: [Type]
(PrimMonad m, Lookup (ComponentStorage m a a) (WorldComponents m cs), Storage m (ComponentStorage m a)) => Queryable (AztecsT cs m) (With a) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type QueryableAccess (With a) 
Instance details

Defined in Aztecs.Internal

type QueryableAccess (With a) = '[With a]

Methods

queryable :: AztecsT cs m (Query (With a)) Source #

(PrimMonad m, Lookup (ComponentStorage m a a) (WorldComponents m cs), Storage m (ComponentStorage m a)) => Queryable (AztecsT cs m) (Without a) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type QueryableAccess (Without a) 
Instance details

Defined in Aztecs.Internal

Methods

queryable :: AztecsT cs m (Query (Without a)) Source #

(PrimMonad m, Lookup (ComponentStorage m a a) (WorldComponents m cs), Storage (AztecsT cs m) (ComponentStorage m a)) => Queryable (AztecsT cs m) (R a) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type QueryableAccess (R a) 
Instance details

Defined in Aztecs.Internal

type QueryableAccess (R a) = '[Read a]

Methods

queryable :: AztecsT cs m (Query (R a)) Source #

(PrimMonad m, PrimState m ~ s, Lookup (ComponentStorage m a a) (WorldComponents m cs), Storage m (ComponentStorage m a)) => Queryable (AztecsT cs m) (W (Commands (AztecsT cs) m) a) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type QueryableAccess (W (Commands (AztecsT cs) m) a) 
Instance details

Defined in Aztecs.Internal

type QueryableAccess (W (Commands (AztecsT cs) m) a) = '[Write a]

Methods

queryable :: AztecsT cs m (Query (W (Commands (AztecsT cs) m) a)) Source #

(PrimMonad m, PrimState m ~ s, Lookup (ComponentStorage m a a) (WorldComponents m cs), Storage m (ComponentStorage m a)) => Queryable (AztecsT cs m) (W (AztecsT cs m) a) Source # 
Instance details

Defined in Aztecs.Internal

Associated Types

type QueryableAccess (W (AztecsT cs m) a) 
Instance details

Defined in Aztecs.Internal

type QueryableAccess (W (AztecsT cs m) a) = '[Write a]

Methods

queryable :: AztecsT cs m (Query (W (AztecsT cs m) a)) Source #

type Entity (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

type Entity (AztecsT cs m) = Entity
type Task (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

type Task (AztecsT cs m) = Commands (AztecsT cs) m
type QueryableAccess (W (Commands (AztecsT cs) m) a) Source # 
Instance details

Defined in Aztecs.Internal

type QueryableAccess (W (Commands (AztecsT cs) m) a) = '[Write a]
type QueryableAccess (W (AztecsT cs m) a) Source # 
Instance details

Defined in Aztecs.Internal

type QueryableAccess (W (AztecsT cs m) a) = '[Write a]
type PrimState (AztecsT cs m) Source # 
Instance details

Defined in Aztecs.Internal

type PrimState (AztecsT cs m) = PrimState (StateT (World m cs) m)

runAztecsT :: forall m (cs :: [Type]) a. Monad m => AztecsT cs m a -> World m cs -> m (a, World m cs) Source #

runAztecsT_ :: forall m (cs :: [Type]) a. Monad m => AztecsT cs m a -> World m cs -> m a Source #