A button is a combination of keys that can be pressed to activate it or deactivate it.
This is essential for custom keybindings or for games that want to support multiple control schemes.
This struct holds all the entities and components in the game engine
It is the main way to interact with the game engine, it is seperate from systems for safety reasons
This struct is a thread safe version of the EntitiesAndComponents struct
It is used to allow systems to access the entities and components in parallel
It will not allow any non send sync components to be accessed or added
An entity is a unique identifier for an object in the game engine
The entity itself does not hold any data, it is a key to access data from the EntitiesAndComponents struct
Resources are objects that are not components and do not have any relation to entities
They are a sort of blend between an entity and a system,
they have their own update method that is called every frame like a system
But unlike a system, they can be accessed by systems
Systems access and change components on objects
Be careful to implement get_allow_entity_based_multithreading as true if you want to use the single_entity_step function
If you don’t it will still work but, it will be slower (in most cases)