""" Définit un plugin qui permet de connaitre le temps depuis de démarage du jeu et le temps depuis la dernière mise a jour. """ from engine import * from time import time class TimePlugin(Plugin): """ Plugin qui permet de connaitre le temps depuis de démarage du jeu et le temps depuis la dernière mise a jour. """ @staticmethod def _initialize_time(world: World) -> None: world.set(Time(time())) @staticmethod def _update_time(world: World) -> None: now = time() world.set(Delta(now - world[Time]), Time(now)) def apply(self, game: Game) -> None: """ Applique le plugin a un jeu. """ game.add_pre_startup_tasks(self._initialize_time) game.add_pre_update_tasks(self._update_time) class Time(float): """ Ressource qui represente le temps depuis le démarage du jeu. """ class Delta(float): """ Ressource qui represente le temps depuis la dernière mise a jour. """