diff options
Diffstat (limited to 'logicmanager.py')
-rw-r--r-- | logicmanager.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/logicmanager.py b/logicmanager.py new file mode 100644 index 0000000..1745948 --- /dev/null +++ b/logicmanager.py @@ -0,0 +1,21 @@ +import time + + +class LogicManager: + def __init__(self, min_dt=0.1): + self._logic_handlers = [] + self._last_ts = 0 + self._min_dt = min_dt + + def add_logic(self, func): + self._logic_handlers.append(func) + + def tick(self, **kwargs): + now = time.time() + if now - self._last_ts >= self._min_dt: + self._last_ts = now + for f in self._logic_handlers: + f(now, **kwargs) + + +logic_manager = LogicManager() |