Copyright | (c) Matt Hunzinger 2025 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | matt@hunzinger.me |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Aztecs.ECS.World.Entities
Description
Synopsis
- data Entities = Entities {
- archetypes :: !Archetypes
- components :: !Components
- entities :: !(Map EntityID ArchetypeID)
- empty :: Entities
- spawn :: EntityID -> Bundle -> Entities -> Entities
- spawnWithArchetypeId :: EntityID -> ArchetypeID -> DynamicBundle -> Entities -> Entities
- insert :: EntityID -> Bundle -> Entities -> Entities
- insertDyn :: EntityID -> Set ComponentID -> DynamicBundle -> 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 -> (IntMap Dynamic, Entities)
Documentation
World of entities and their components.
Since: 0.9
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.12.0-GlKmPfHNl6i8JdqwU1RE4N" '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))))) |
spawnWithArchetypeId :: EntityID -> ArchetypeID -> DynamicBundle -> Entities -> Entities Source #
Spawn a DynamicBundle
with a specified ArchetypeID
.
Since: 0.9
insert :: EntityID -> Bundle -> Entities -> Entities Source #
Insert a component into an entity.
Since: 0.9
insertDyn :: EntityID -> Set ComponentID -> DynamicBundle -> Entities -> Entities Source #
Insert a component into an entity with its ComponentID
.
Since: 0.9
lookup :: forall a. Component a => EntityID -> Entities -> Maybe a Source #
Lookup a component in an entity.
Since: 0.9
remove :: forall a. Component a => EntityID -> Entities -> (Maybe a, Entities) Source #
Insert a component into an entity.
Since: 0.9
removeWithId :: forall a. Component a => EntityID -> ComponentID -> Entities -> (Maybe a, Entities) Source #
Remove a component from an entity with its ComponentID
.
Since: 0.9