44 lines
1 KiB
Python
44 lines
1 KiB
Python
"""
|
|
Définit un plugin qui permet de connaitre le temps depuis 1900 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 1900 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.
|
|
|
|
Paramètres:
|
|
game: Le jeu auquel appliquer le plugin.
|
|
"""
|
|
game.add_startup_tasks(self._initialize_time)
|
|
game.add_pre_update_tasks(self._update_time)
|
|
|
|
|
|
class Time(float):
|
|
"""
|
|
Ressource qui represente le temps depuis 1900.
|
|
"""
|
|
|
|
|
|
class Delta(float):
|
|
"""
|
|
Ressource qui represente le temps depuis la dernière mise a jour.
|
|
"""
|