* Class: DNAManager
#author("2024-02-10T19:04:48+00:00","","")

The `DNAManager` is a singleton class responsible for managing entities and components in a pure ecs implementation, allowing for entity
creation, component addition and removal, and system updates.
** Constructors
- ''new DNAManager''(): DNAManager~
The constructor.~
** Methods
- ''addComponent''(eid: number, component: DNAComponent): void~
The "addComponent" function adds a DNAComponent to an entity. This entity is binded to all matching DNASystem.~
-- ''eid'': The `eid` parameter is the entity's id.~
-- ''component'': The `component` parameter is the component to add.~
~
- ''createEntity''(): number~
The "createEntity" function creates a new entity and returns its uid based on a incremented global index.~
~
- ''draw''(): void~
The "draw" function draw all systems.~
~
- ''findEntities''(componentTypeName: string)~
The "findEntities" function takes a component typename and returns an array of entity
ids that have that component.~
-- ''componentTypeName'': The parameter `componentTypeName` is a string that represents
the name of a component type.~
~
- ''findEntity''(componentTypeName: string): number~
The "findEntity" function retrieves the first entity that has a specific component type and returns its
entity's id.~
-- ''componentTypeName'': The `componentTypeName` parameter is a string that represents
the name of a component type.~
~
- ''findSystems''(tag: string)~
The "findSystems" function returns an array of DNASystem objects that have that tag.~
-- ''tag'': A string representing the tag to search.~
~
- ''getComponent''(eid: number, typename: string): DNAComponent~
The "getComponent" function retrieves a specific component from an entity.~
-- ''eid'': The `eid` parameter is the entity's id.~
-- ''typename'': The `typename` parameter is a string that represents
the name of a component type.~
~
- ''getComponents''(eid: number): Map~
The "getComponents" function retrieves components from an entity.~
-- ''eid'': The `eid` parameter is the entity's id.~
~
- ''getSystems''()~
The "getSystems" function  returns the systems.~
~
- ''hasComponent''(eid: number, typename: string): boolean~
The function checks if an entity has a specific component.~
-- ''eid'': The `eid` parameter is the entity's id.~
-- ''typename'': The `typename` parameter is a string that represents
the name of a component type.~
~
- ''hasEntity''(id: number): boolean~
The "hasEntity" function checks if an entity exists.~
-- ''id'': The `id` parameter is the entity's id.~
~
- ''removeComponent''(eid: number, typename: string): void~
The "removeComponent" function removes a DNAComponent to an entity. This entity is unbinded from all unmatching DNASystem.~
-- ''eid'': The `eid` parameter is the entity's id.~
-- ''typename'': The `typename` parameter is a string that represents
the name of a component type.~
~
- ''removeComponentIfExist''(eid: number, typename: string): boolean~
The "removeComponentIfExist" function removes a component from an entity if it exists and returns true, otherwise it returns
false.~
-- ''eid'': The `eid` parameter is the entity's id.~
-- ''typename'': The `typename` parameter is a string that represents
the name of a component type.~
~
- ''removeEntity''(eid: number): void~
The "removeEntity" function removes entity.~
-- ''eid'': The `eid` parameter is the entity's id.~
~
- ''reset''(): void~
The "reset" function resets all resources.~
~
- ''setup''(systems: DNASystem[]): void~
The "setup" function initialize the manager and sets all systems ready to run.~
-- ''systems'': An array of DNASystem objects.~
~
- ''update''(ts: number): void~
The "update" function update all systems.~
-- ''ts'': The `ts` parameter stands for "timestep".~


Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes