41 lines
996 B
Python
41 lines
996 B
Python
"""
|
|
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_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.
|
|
"""
|