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.World.Entities

Description

 
Synopsis

Documentation

data Entities Source #

World of entities and their components.

Since: 0.9

Constructors

Entities 

Fields

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.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)))))

empty :: Entities Source #

Empty World.

Since: 0.9

spawn :: EntityID -> Bundle -> Entities -> Entities Source #

Spawn a Bundle.

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

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

Despawn an entity, returning its components.

Since: 0.9