Définir et déclarer le message #
-
Dans le paquet
pong.commun, créer le paquetmessages -
Dans le paquet
message, créer la classeMsgAjouterRendezVous -
Dans VSCode, s’assurer que l’arborescence de mon projet est comme suit
-
Ajuster la signature de
MsgAjouterRendezVousqui doit hériter deMessagepublic class MsgAjouterRendezVous extends Message<MsgAjouterRendezVous> { -
Ajouter l’attribut
premierJoueuret une méthode pour mémoriser sa valeurpublic class MsgAjouterRendezVous extends Message<MsgAjouterRendezVous> { // ajouter private Joueur premierJoueur; public MsgAjouterRendezVous setPremierJoueur(Joueur premierJoueur) { this.premierJoueur = premierJoueur; return this; } // ... -
Dans
AppPong, déclarer le messagepublic class AppPong implements NtroAppFx { // ... @Override public void registerMessages(MessageRegistrar registrar) { registrar.registerMessage(MsgAjouterRendezVous.class); }- NOTES:
- le message est partagé entre le frontal et le dorsal
- NOTES:
-
Au besoin, corriger les erreurs de compilation
Créer et envoyer le message #
-
Dans
VueFileAttente, créer une méthode d’où envoyer les messagespublic class VueFileAttente extends ViewFx { // ... @Override public void initialize() { // ... initialiserBoutonSInscrire(); } private void initialiserBoutonSInscrire() { } -
Ajouter le capteur d’événement pour
boutonSInscrirepublic class VueFileAttente extends ViewFx { // ... private void initialiserBoutonSInscrire() { // ajouter boutonSInscrire.setOnAction(evtFx -> { }); } // ... -
Pour chaque clic, demander à la session d’envoyer un message
public class VueFileAttente extends ViewFx { // ... private void initialiserBoutonSInscrire() { // ajouter SessionPong session = Ntro.session(); boutonSInscrire.setOnAction(evtFx -> { // ajouter session.envoyerMsgAjouterRendezVous(); }); } // ...- NOTE: on délègue à la session, parce qu’on veut que le joueur mémorise le
sessionId
- NOTE: on délègue à la session, parce qu’on veut que le joueur mémorise le
-
Dans
SessionPong, créer la méthode pour envoyer le messagepublic class SessionPong extends Session<SessionPong> { // ... public void envoyerMsgAjouterRendezVous() { Ntro.newMessage(MsgAjouterRendezVous.class) .setPremierJoueur(MaquetteJoueurs.joueurAleatoire(this.sessionId())) .send(); }