Timer overhaul: update tests
This commit is contained in:
parent
5d41292bf6
commit
cec76b63dc
78 changed files with 521 additions and 495 deletions
|
|
@ -135,7 +135,7 @@ class GeometryDemoRunner:
|
|||
self.current_index = 0
|
||||
self.render_wait = 0
|
||||
|
||||
def screenshot_cycle(runtime):
|
||||
def screenshot_cycle(timer, runtime):
|
||||
if self.render_wait == 0:
|
||||
if self.current_index >= len(self.screens):
|
||||
print("Done!")
|
||||
|
|
@ -162,7 +162,7 @@ class GeometryDemoRunner:
|
|||
print("Done!")
|
||||
sys.exit(0)
|
||||
|
||||
mcrfpy.setTimer("screenshot", screenshot_cycle, 100)
|
||||
self.screenshot_timer = mcrfpy.Timer("screenshot", screenshot_cycle, 100)
|
||||
|
||||
def run_interactive(self):
|
||||
"""Run in interactive mode with menu."""
|
||||
|
|
|
|||
|
|
@ -46,17 +46,19 @@ class GeometryDemoScreen:
|
|||
|
||||
def cleanup(self):
|
||||
"""Clean up timers when leaving screen."""
|
||||
for timer_name in self.timers:
|
||||
for timer in self.timers:
|
||||
try:
|
||||
mcrfpy.delTimer(timer_name)
|
||||
timer.stop()
|
||||
except:
|
||||
pass
|
||||
|
||||
def restart_timers(self):
|
||||
"""Re-register timers after cleanup."""
|
||||
self.timers = [] # Clear old timer references
|
||||
for name, callback, interval in self._timer_configs:
|
||||
try:
|
||||
mcrfpy.setTimer(name, callback, interval)
|
||||
timer = mcrfpy.Timer(name, callback, interval)
|
||||
self.timers.append(timer)
|
||||
except Exception as e:
|
||||
print(f"Timer restart failed: {e}")
|
||||
|
||||
|
|
@ -111,6 +113,6 @@ class GeometryDemoScreen:
|
|||
if callback is None:
|
||||
print(f"Warning: Timer '{name}' callback is None, skipping")
|
||||
return
|
||||
mcrfpy.setTimer(name, callback, interval)
|
||||
self.timers.append(name)
|
||||
timer = mcrfpy.Timer(name, callback, interval)
|
||||
self.timers.append(timer)
|
||||
self._timer_configs.append((name, callback, interval))
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ class PathfindingAnimatedDemo(GeometryDemoScreen):
|
|||
self.dist_label.fill_color = mcrfpy.Color(150, 150, 150)
|
||||
self.ui.append(self.dist_label)
|
||||
|
||||
def _tick(self, runtime):
|
||||
def _tick(self, timer, runtime):
|
||||
"""Advance one turn."""
|
||||
self.current_time += 1
|
||||
self.time_label.text = f"Turn: {self.current_time}"
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ class SolarSystemDemo(GeometryDemoScreen):
|
|||
self.ui.append(moon_path)
|
||||
self.orbit_rings[moon.name + "_path"] = moon_path
|
||||
|
||||
def _tick(self, runtime):
|
||||
def _tick(self, timer, runtime):
|
||||
"""Advance time by one turn and update planet positions."""
|
||||
self.current_time += 1
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue