Time
BatFramework provides timers managed by a global TimeManager.
Timer
bf.Timer(duration=2.0, end_callback=lambda: print("done")).start()
duration— secondsend_callback— called when the timer finishesloop— how many times to repeat (0= once, higher values repeat)start(),stop(),pause(),resume(),delete()get_progression()—0.0to1.0
By default timers use the "global" register and always tick.
SceneTimer
SceneTimer is bound to a scene's time register. It only advances while that scene is active (on enter / off exit).
bf.SceneTimer(
duration=1.5,
end_callback=spawn_enemy,
scene_name="level1",
).start()
Each Scene registers its name with TimeManager automatically.
TimeManager
Singleton that updates all timer registers every frame (called by Manager).
You usually do not call it directly, but you can activate/deactivate registers or adjust time scale per register if needed.