Skip to content

refactor: move timer logic on server side

Laurent Bourgon requested to merge refactor/server-timer into dev

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

Merge request reports

Loading