from typing import Callable from ecs import World class TaskManager: """ Contient des fonctions de logique s'appliquant sur un monde. """ def __init__(self): """ Créer un gestionnaire de taches vide. """ self.tasks: dict[int, list[Callable[[World], None]]] = {} def add(self, priority: int, task: Callable[[World], None]): """ Ajoute une tache à un gestionnaire de taches. """ self.tasks.setdefault(priority, []).append(task) def run(self, world: World): """ Exécute toutes les taches. """ priorities = sorted(list(self.tasks.keys())) for priority in priorities: for task in self.tasks[priority]: task(world)