Optionnel) plusieurs parties (créées dynamiquement) #
Créer une partie spécifique à la région #
-
Ajouter le
setModelSelectionà l’envoi duMsgCreerPartiepublic class RendezVousComplet extends RendezVous { // ... // modifier cette méthode public void envoyerMsgCreerPartie() { Ntro.newMessage(MsgCreerPartie.class) .setModelSelection(ModelePartie.class, getIdRendezVous()) // ajouter la sélection de modèle .setIdRendezVous(getIdRendezVous()) .setPremierJoueur(getPremierJoueur()) .setDeuxiemeJoueur(deuxiemeJoueur) .send(); } -
Vérifier que les parties créées sont spécifiques à la région
$ sh gradlew pongpong └── _storage ├── models │ ├── ModelePartie │ │ └── AMERIQUE¤1.json
Observer la bonne partie #
-
Utiliser
SessionPongpour mémoriser et observer la partie courantepublic class SessionPong extends Session<SessionPong> { // ... // ajouter private String idPartieCourante = null; // ... // ajouter public SessionPong memoriserPartieCourante(String idPartie) { this.idPartieCourante = idPartie; return this; } // ajouter public SessionPong observerPartieCourante() { this.setModelSelection(ModelePartie.class, idPartieCourante); return this; } -
Ajouter un
idPartieauEvtAfficherPartiepublic class EvtAfficherPartie extends Event { private String idPartie; public EvtAfficherPartie setIdPartie(String idPartie) { this.idPartie = idPartie; return this; } public EvtAfficherPartie appliquerA(SessionPong session) { session.memoriserPartieCourante(idPartie) .observerPartieCourante() .memoriserVueCourante(VuePartie.class); return this; } public EvtAfficherPartie appliquerA(VueRacine vueRacine, VuePartie vuePartie) { vueRacine.afficherSousVue(vuePartie); return this; } } -
Transmettre le
idPartieau moment de déclencher leEvtAfficherPartiepublic class FragmentRendezVousComplet extends FragmentRendezVous { @FXML private Label labelNomDeuxiemeJoueur; @FXML private Label labelScore; @Override public void initialize() { super.initialize(); Ntro.assertNotNull(labelNomDeuxiemeJoueur); Ntro.assertNotNull(labelScore); } public void memoriserIdRendezVous(String idRendezVous) { // ... // ajouter installerEvtAfficherPartie(idRendezVous); } // ajouter private void installerEvtAfficherPartie(String idPartie) { getBoutonDebuterPartie().setOnAction(evtFx -> { Ntro.session(SessionPong.class) .memoriserPartieCourante(idPartie) .observerPartieCourante(); Ntro.newEvent(EvtAfficherPartie.class) .setIdPartie(idPartie) .trigger(); }); } -
Vérifier qu’on affiche la bonne partie
$ sh gradlew pong