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

Aztecs.ECS.Query.Class

Documentation

class Queryable (m :: Type -> Type) a where Source #

Minimal complete definition

Nothing

Associated Types

type QueryableAccess a :: [Type] Source #

Instances

Instances details
(Monad m, Queryable m a, Queryable m b, ValidAccess (QueryableAccess a ++ QueryableAccess b)) => Queryable m (a, b) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b)) Source #

(Monad m, Queryable m a, Queryable m b, Queryable m c, ValidAccess (QueryableAccess a ++ (QueryableAccess b ++ QueryableAccess c))) => Queryable m (a, b, c) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b, c) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b, c)) Source #

(Monad m, Queryable m a, Queryable m b, Queryable m c, Queryable m d, ValidAccess ((QueryableAccess a ++ QueryableAccess b) ++ (QueryableAccess c ++ QueryableAccess d))) => Queryable m (a, b, c, d) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b, c, d) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b, c, d)) Source #

(Monad m, Queryable m a, Queryable m b, Queryable m c, Queryable m d, Queryable m e, ValidAccess ((QueryableAccess a ++ QueryableAccess b) ++ (QueryableAccess c ++ (QueryableAccess d ++ QueryableAccess e)))) => Queryable m (a, b, c, d, e) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b, c, d, e) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b, c, d, e)) Source #

(Monad m, Queryable m a, Queryable m b, Queryable m c, Queryable m d, Queryable m e, Queryable m f, ValidAccess ((QueryableAccess a ++ (QueryableAccess b ++ QueryableAccess c)) ++ (QueryableAccess d ++ (QueryableAccess e ++ QueryableAccess f)))) => Queryable m (a, b, c, d, e, f) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b, c, d, e, f) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b, c, d, e, f)) Source #

(Monad m, Queryable m a, Queryable m b, Queryable m c, Queryable m d, Queryable m e, Queryable m f, Queryable m g, ValidAccess ((QueryableAccess a ++ (QueryableAccess b ++ QueryableAccess c)) ++ ((QueryableAccess d ++ QueryableAccess e) ++ (QueryableAccess f ++ QueryableAccess g)))) => Queryable m (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b, c, d, e, f, g) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b, c, d, e, f, g)) Source #

(Monad m, Queryable m a, Queryable m b, Queryable m c, Queryable m d, Queryable m e, Queryable m f, Queryable m g, Queryable m h, ValidAccess (((QueryableAccess a ++ QueryableAccess b) ++ (QueryableAccess c ++ QueryableAccess d)) ++ ((QueryableAccess e ++ QueryableAccess f) ++ (QueryableAccess g ++ QueryableAccess h)))) => Queryable m (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Aztecs.ECS.Query.Internal

Associated Types

type QueryableAccess (a, b, c, d, e, f, g, h) 
Instance details

Defined in Aztecs.ECS.Query.Internal

Methods

queryable :: m (Query (a, b, c, d, e, f, g, h)) Source #

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 #

data With a Source #

Constructors

With 

Instances

Instances details
(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 #

type QueryableAccess (With a) Source # 
Instance details

Defined in Aztecs.Internal

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

data Without a Source #

Constructors

Without 

Instances

Instances details
(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 #

type QueryableAccess (Without a) Source # 
Instance details

Defined in Aztecs.Internal