feature(client): radial timer + timer service
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.
Ajouts
-
TimeService
pour gérer la minuterie à travers toute l'application. Le minuteur est connecté directement à l'observableTimeService.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.