aztecs-0.16.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 HaskellNone
LanguageHaskell2010

Aztecs.ECS.Access.Internal

Description

 
Synopsis

Documentation

newtype Access (m :: Type -> Type) a Source #

Access into a World.

Constructors

Access 

Fields

Instances

Instances details
MonadFix m => MonadFix (Access m) Source # 
Instance details

Defined in Aztecs.ECS.Access.Internal

Methods

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

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

Defined in Aztecs.ECS.Access.Internal

Methods

liftIO :: IO a -> Access m a #

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

Defined in Aztecs.ECS.Access.Internal

Methods

pure :: a -> Access m a #

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

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

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

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

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

Defined in Aztecs.ECS.Access.Internal

Methods

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

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

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

Defined in Aztecs.ECS.Access.Internal

Methods

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

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

return :: a -> Access m a #

runAccessWith :: Access m a -> World m -> m (a, World m) Source #

Run an Access with a given World, returning the result and updated world.

evalAccess :: Monad m => Access m a -> World m -> m a Source #

Run an Access with a given World, returning only the result.

triggerEvent :: forall (m :: Type -> Type) e. (Monad m, Event e) => e -> Access m () Source #

Trigger an event.

triggerEntityEvent :: forall (m :: Type -> Type) e. (Monad m, Event e) => EntityID -> e -> Access m () Source #

Trigger an event for a specific entity.