bubel.ecs

Modules

atomic
module bubel.ecs.atomic

It's internal code. Can be used for atomics if emscripten backend will be used.

attributes
module bubel.ecs.attributes

This module contain attributes used to mark components. Currently only two attributes are supported:

  • optional: mark component as optional for system update
  • readonly: mark component access as read only (used for multithreading)
block_allocator
module bubel.ecs.block_allocator

It's internal code.

core
module bubel.ecs.core

This module contain main helper templates for user. There are three structure templates (mixins) which can be added on top of structure:

  • System: make system structure
  • Component: make component structure
  • Event: make event structure

This mixins are optional and are used to adding some additional capabilities, e.g. ECS.System is used to configuring default number of jobs for system.

entity
module bubel.ecs.entity

Entity module.

events
module bubel.ecs.events
hash_map
module bubel.ecs.hash_map
id_manager
module bubel.ecs.id_manager
manager
module bubel.ecs.manager

Most important module. Almost every function is called from EntityManager.

simple_vector
module bubel.ecs.simple_vector
std
module bubel.ecs.std

It's internal code! This module contain implementation of standard functionality.

system
module bubel.ecs.system

System module.

traits
module bubel.ecs.traits
vector
module bubel.ecs.vector