Skip to content

feature(client): radial timer + timer service

Laurent Bourgon requested to merge feature/radial-timer into dev

Minuteur en cercle pour la vue du joueur. En ce moment, il se lance dès que le composant est construit, mais il suffira d'ajouter TimerService.start/.stop/.set dans le futur GameService.

Le minuteur est relié à un Observable (TimerService.time$) émettant une valeur toutes les 250ms. Cela permet une apparence fluide du minuteur.

Quand il reste moins de 10 secondes, il devient rouge. On pourra ajouter des animations plus tard.

timer

Ajouts

  • TimeService pour gérer la minuterie à travers toute l'application. Le minuteur est connecté directement à l'observable TimeService.time$.
  • Tests pour les pages anciennement mergent. Sans test vide, le coverage n'est pas mis à jour.

Modifications

  • Le minuteur a été déplacé à l'extérieur du "play area".

Conséquences

  • On pourra contrôler le minuteur à travers TimerService. Par contre, il faut faire attention à ne pas le contrôler à deux endroits différents.
  • On ne peut avoir qu'un seul minuteur à la fois. Je ne vois pas de cas d'utilisation où nous aurions besoin de plus d'un minuteur, mais c'est une limitation de l'implémentation.

Merge request reports

Loading