Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Aztecs.ECS.World.Entities
Synopsis
- data Entities = Entities {
- archetypes :: !Archetypes
- components :: !Components
- entities :: !(Map EntityID ArchetypeID)
- empty :: Entities
- spawn :: EntityID -> Bundle -> Entities -> Entities
- spawnComponent :: forall a. Component a => EntityID -> a -> Entities -> Entities
- spawnWithId :: forall a. Component a => EntityID -> ComponentID -> a -> Entities -> Entities
- spawnWithArchetypeId :: forall a. Component a => EntityID -> ArchetypeID -> ComponentID -> a -> Entities -> Entities
- insert :: forall a. Component a => EntityID -> a -> Entities -> Entities
- insertWithId :: Component a => EntityID -> ComponentID -> a -> Entities -> Entities
- lookup :: forall a. Component a => EntityID -> Entities -> Maybe a
- remove :: forall a. Component a => EntityID -> Entities -> (Maybe a, Entities)
- removeWithId :: forall a. Component a => EntityID -> ComponentID -> Entities -> (Maybe a, Entities)
- despawn :: EntityID -> Entities -> (Map ComponentID Dynamic, Entities)
Documentation
World of entities and their components.
Constructors
Entities | |
Fields
|
Instances
Generic Entities Source # | |
Show Entities Source # | |
NFData Entities Source # | |
Defined in Aztecs.ECS.World.Entities | |
type Rep Entities Source # | |
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))))) |
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
.
spawnWithArchetypeId :: forall a. Component a => EntityID -> ArchetypeID -> ComponentID -> a -> Entities -> Entities Source #
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
.
remove :: forall a. Component a => EntityID -> Entities -> (Maybe a, Entities) Source #
Insert a component into an entity.
removeWithId :: forall a. Component a => EntityID -> ComponentID -> Entities -> (Maybe a, Entities) Source #