Flecs v3.2
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
Creation & Deletion
Collaboration diagram for Creation & Deletion:

Functions

ecs_world_tecs_init (void)
 Create a new world.
 
ecs_world_tecs_mini (void)
 Create a new world with just the core module.
 
ecs_world_tecs_init_w_args (int argc, char *argv[])
 Create a new world with arguments.
 
int ecs_fini (ecs_world_t *world)
 Delete a world.
 
bool ecs_is_fini (const ecs_world_t *world)
 Returns whether the world is being deleted.
 
void ecs_atfini (ecs_world_t *world, ecs_fini_action_t action, void *ctx)
 Register action to be executed when world is destroyed.
 

Detailed Description

Function Documentation

◆ ecs_atfini()

void ecs_atfini ( ecs_world_t * world,
ecs_fini_action_t action,
void * ctx )

Register action to be executed when world is destroyed.

Fini actions are typically used when a module needs to clean up before a world shuts down.

Parameters
worldThe world.
actionThe function to execute.
ctxUserdata to pass to the function

◆ ecs_fini()

int ecs_fini ( ecs_world_t * world)

Delete a world.

This operation deletes the world, and everything it contains.

Parameters
worldThe world to delete.
Returns
Zero if successful, non-zero if failed.

◆ ecs_init()

ecs_world_t * ecs_init ( void )

Create a new world.

This operation automatically imports modules from addons Flecs has been built with, except when the module specifies otherwise.

Returns
A new world

◆ ecs_init_w_args()

ecs_world_t * ecs_init_w_args ( int argc,
char * argv[] )

Create a new world with arguments.

Same as ecs_init(), but allows passing in command line arguments. Command line arguments are used to:

  • automatically derive the name of the application from argv[0]
Returns
A new world

◆ ecs_is_fini()

bool ecs_is_fini ( const ecs_world_t * world)

Returns whether the world is being deleted.

This operation can be used in callbacks like type hooks or observers to detect if they are invoked while the world is being deleted.

Parameters
worldThe world.
Returns
True if being deleted, false if not.

◆ ecs_mini()

ecs_world_t * ecs_mini ( void )

Create a new world with just the core module.

Same as ecs_init(), but doesn't import modules from addons. This operation is faster than ecs_init() and results in less memory utilization.

Returns
A new tiny world