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

Aztecs.ECS.World.Entities

Synopsis

Documentation

data Entities Source #

World of entities and their components.

Instances

Instances details
Generic Entities Source # 
Instance details

Defined in Aztecs.ECS.World.Entities

Associated Types

type Rep Entities :: Type -> Type #

Methods

from :: Entities -> Rep Entities x #

to :: Rep Entities x -> Entities #

Show Entities Source # 
Instance details

Defined in Aztecs.ECS.World.Entities

NFData Entities Source # 
Instance details

Defined in Aztecs.ECS.World.Entities

Methods

rnf :: Entities -> () #

type Rep Entities Source # 
Instance details

Defined in Aztecs.ECS.World.Entities

type Rep Entities = D1 ('MetaData "Entities" "Aztecs.ECS.World.Entities" "aztecs-0.8.0-5YWGoxTs0Vw9iciqZAe9GO" 'False) (C1 ('MetaCons "Entities" 'PrefixI 'True) (S1 ('MetaSel ('Just "archetypes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Archetypes) :*: (S1 ('MetaSel ('Just "components") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Components) :*: S1 ('MetaSel ('Just "entities") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map EntityID ArchetypeID)))))

empty :: Entities Source #

Empty World.

spawnComponent :: forall a. Component a => EntityID -> a -> Entities -> Entities Source #

Spawn an entity with a component.

spawnWithId :: forall a. Component a => EntityID -> ComponentID -> a -> Entities -> Entities Source #

Spawn an entity with a component and its ComponentID.

insert :: forall a. Component a => EntityID -> a -> Entities -> Entities Source #

Insert a component into an entity.

insertWithId :: Component a => EntityID -> ComponentID -> a -> Entities -> Entities Source #

Insert a component into an entity with its ComponentID.

lookup :: forall a. Component a => EntityID -> Entities -> Maybe a Source #

remove :: forall a. Component a => EntityID -> Entities -> (Maybe a, Entities) Source #

Insert a component into an entity.

despawn :: EntityID -> Entities -> (Map ComponentID Dynamic, Entities) Source #

Despawn an entity, returning its components.