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
MsgAjouterRendezVous
qui doit hériter deMessage
public class MsgAjouterRendezVous extends Message<MsgAjouterRendezVous> {
-
Ajouter l’attribut
premierJoueur
et 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
boutonSInscrire
public 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(); }