refactor: move timer logic on server side
La minuterie est désormais contrôlée par le serveur. Cela rend la minuterie synchronisée par tous et permettra le compte à rebours interactif (&16).
Ajouts
- (Serveur) Timer: envoie un
tick
à tous les 250ms à tous les clients. Il faut faire attention de toujours appeler.dispose()
pour ne pas causer de fuites de mémoire (et avoir plusieurs timer en même temps). - (Client) La minuterie a maintenant deux styles (light et dark). Cela permet d'avoir le même timer dans une modale (fond blanc, light) et lors du jeu (fond violet, dark).
Modifications
- ChatBoxComponent a été modifié pour enlever les erreurs dans la console.
- SelectableChoicesComponent a été modifié pour enlever les warnings dans la console. Le component va désormais aller chercher la question à partir du service, au lieu d'utiliser des Input.
- Les setTimeout ont été remplacés par des instances de Timer.
- TimerService ne fait que s'ajuster en fonction des événements reçus.
Conséquences
- Il sera possible d'avoir le timer interactif.
- Le temps de tous les joueurs est synchronisé, même si un joueur a de la latence réseau.
Edited by Laurent Bourgon