1179Fermer1181
FarewellLe 12/05/2010 à 08:11
Oui non mais en C++ pur, ya pas de signaux et de classes, donc je vais dériver.

Génial Golden ta ptite synthèse sur les commandes, c'est plus général que ce que j'ai dit en effet, je vais faire comme ça c'est énorme.

Sinon, pour palier aux manques de signaux et slots du C++, j'ai pensé à ça :
- Ma "première classe" dans l'ordre des créations instancie un objet "communication" dont tous les objets "parlants" du programme recevront un pointeur.
- Chaque objet "parlant" héritent d'une classe "Receive" qui implémente receiveMsg(int n)
- Chaque objet s'enregistre dès sa construction : Communication->register(this, MyID)
- Objet X qui parle à objet ID_truc : Communication->SendMsg(ID_truc, int x)
- Comm qui répercute à ID_truc : entry[ID_truc].ptr->receiveMsg(x)

Donc on a un cast de entry[ID_truc].ptr en "Receive", puis la méthode est appelée.

Ca marcherait ? Si oui, ça serait bien, ça ferait une chouette utilisation de l'héritage multiple et du polymorphisme ^^ (me dites pas que ça marcherait pas hein ? cry)




Parce que ma "messagerie" initiale, en faisant remplir des champs de "Communication", lisibles par les autres objets, avait une limitation assez géniale : comme chaque objet est traité une fois par frame, et qu'il peut donc regarder ses messages une fois par frame, la communication entre objets et le moindre bout de protocole dépend du fps trioui
Immaginez si les protocoles étaient faits comme ça, on aurait droit à des pubs du genre "Sony sort un moniteur 150 Hz qui améliore considérablement votre connexion internet". La classe, non ? #triclasse#