aztecs-0.12.0: A modular game engine and Entity-Component-System (ECS) for Haskell.
Copyright(c) Matt Hunzinger 2025
LicenseBSD-style (see the LICENSE file in the distribution)
Maintainermatt@hunzinger.me
Stabilityprovisional
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Aztecs.ECS.Access

Description

 
Synopsis

Documentation

type Access = AccessT Identity Source #

Since: 0.9

newtype AccessT m a Source #

Access into the World.

Since: 0.9

Constructors

AccessT 

Fields

Instances

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

Since: 0.9

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 #

spawn :: Monad m => Bundle -> AccessT m EntityID Source #

Spawn an entity with a Bundle.

Since: 0.11

insert :: Monad m => EntityID -> Bundle -> AccessT m () Source #

Insert a Bundle into an entity.

Since: 0.11

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

Lookup a component by EntityID.

Since: 0.11

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

Remove a component by EntityID.

Since: 0.11

despawn :: Monad m => EntityID -> AccessT m () Source #

Despawn an entity by EntityID.

Since: 0.11

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

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

Since: 0.9

runAccessT_ :: Functor m => AccessT m a -> m a Source #

Run an Access on an empty World.

Since: 0.9

system :: Monad m => SystemT m a -> AccessT m a Source #

Run a System.

Since: 0.11

concurrently :: SystemT IO a -> AccessT IO a Source #

Run a System concurrently.

Since: 0.11