Bonjour,

Aujourd'hui, pas de question, je suis juste venu poster mon code pour ceux que ça intéresse. Il s'agit de proposer une solution simple et efficace à la génération d'ID unique pour les Components d'un ECS :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
unsigned counter = 0;
 
template <typename T>
struct Component
{
    static unsigned mask;
};
 
template <typename T>
unsigned Component<T>::mask = counter++;
 
struct Position : Component<Position> {};
 
struct Motion : Component<Motion> {};
 
struct Health : Component<Health> {};
À noter que les mask s'initialisent de manière dynamique.