Bonjour !
Je suis en train de développer ma propre implémentation d'un Entity Component System, et je souhaitais faire une fonction qui puisse prendre un nombre indéfini de types afin de les tester un à un en utilisant un template. Est-ce possible ?
Comme ma question n'est pas très clair, je vais donner un exemple :
J'ai une Entity qui comporte 5 Components, et j'ai un System qui modifie un Component en fonction de 2 autres, je voudrais pouvoir écrire cela :
Et je pourrais l'utiliser comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //quelque chose avec les templates ou autre bool hasComponents(Entity* e) { for(/*nombres de paramètres demandés*/) { if(!e->hasComponent</*component*/>()) { return false; } } return true; }
Y a-t-il un moyen de faire ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 system1.hasComponents<ComponentX,ComponentY,ComponentZ>(e); system2.hasComponents<ComponentA,ComponentB>(e); system3.hasComponents<ComponentC,ComponentD,ComponentF,ComponentG>(e);
Merci d'avance !
Partager