]> git.lizzy.rs Git - nothing.git/blob - docs/oop.md
(#1056) Improve id generation for label layer
[nothing.git] / docs / oop.md
1 # "OOP" entities
2
3 ## Examples
4
5 - [level](../src/game/level.h)
6 - [player](../src/game/level/player.h)
7 - [camera](../src/game/camera.h)
8 - ...
9
10 ## Conventions
11
12 - One translation unit per entity
13 - Entity stores its state in an opaque forward declared struct
14 - Constructors are `create_<entity-name>` or `create_<entity-name>_from_<resource-name>` (for example `create_level_from_file`)
15 - Single destructor with name `destroy_<entity-name>`
16 - Regular methods are `<entity-name>_<method-suffix>` (for example `player_render`)