update tests: new scene API

This commit is contained in:
John McCardle 2026-01-03 10:59:52 -05:00
commit 838da4571d
142 changed files with 616 additions and 601 deletions

View file

@ -65,8 +65,8 @@ class DemoRunner:
def create_menu(self):
"""Create the main menu screen."""
mcrfpy.createScene("menu")
ui = mcrfpy.sceneUI("menu")
menu = mcrfpy.Scene("menu")
ui = menu.children
# Title
title = mcrfpy.Caption(text="McRogueFace Demo", pos=(400, 30))
@ -122,7 +122,7 @@ class DemoRunner:
sys.exit(0)
return
screen = self.screens[self.current_index]
mcrfpy.setScene(screen.scene_name)
mcrfpy.current_scene = screen
self.render_wait = 1
elif self.render_wait < 2:
# Wait additional frame
@ -157,23 +157,23 @@ class DemoRunner:
# ESC returns to menu
elif key == "Escape":
mcrfpy.setScene("menu")
menu.activate()
# Q quits
elif key == "Q":
sys.exit(0)
# Register keyboard handler on menu scene
mcrfpy.setScene("menu")
mcrfpy.keypressScene(handle_key)
menu.activate()
menu.on_key = handle_key
# Also register keyboard handler on all demo scenes
for screen in self.screens:
mcrfpy.setScene(screen.scene_name)
mcrfpy.keypressScene(handle_key)
mcrfpy.current_scene = screen
menu.on_key = handle_key
# Start on menu
mcrfpy.setScene("menu")
menu.activate()
def main():
"""Main entry point."""

View file

@ -37,10 +37,10 @@ def setup_scene():
"""Create the demo scene"""
global g_grid, g_patrol, g_fov_layer
mcrfpy.createScene("patrol_demo")
mcrfpy.setScene("patrol_demo")
patrol_demo = mcrfpy.Scene("patrol_demo")
patrol_demo.activate()
ui = mcrfpy.sceneUI("patrol_demo")
ui = patrol_demo.children
# Title
title = mcrfpy.Caption(text="Perspective Patrol Demo", pos=(10, 10))
@ -123,7 +123,7 @@ def setup_scene():
ui.append(status)
# Set up keyboard handler
mcrfpy.keypressScene(on_keypress)
patrol_demo.on_key = on_keypress
# Start patrol timer
mcrfpy.setTimer("patrol", patrol_step, move_timer_ms)
@ -173,7 +173,7 @@ def on_keypress(key, state):
else:
update_status("Status: Patrolling")
elif key == "Q":
mcrfpy.setScene(None)
mcrfpy.current_scene = None
def reset_vision():
"""Reset entity's discovered state to demonstrate unknown vs discovered"""
@ -194,7 +194,7 @@ def reset_vision():
def update_status(text):
"""Update status caption"""
ui = mcrfpy.sceneUI("patrol_demo")
ui = patrol_demo.children
for element in ui:
if hasattr(element, 'name') and element.name == "status":
element.text = text

View file

@ -9,7 +9,7 @@ class DemoScreen:
def __init__(self, scene_name):
self.scene_name = scene_name
mcrfpy.createScene(scene_name)
_scene = mcrfpy.Scene(scene_name)
self.ui = mcrfpy.sceneUI(scene_name)
def setup(self):

View file

@ -600,8 +600,8 @@ def create_demo_scene():
"""Create and populate the focus system demo scene."""
# Create scene
mcrfpy.createScene("focus_demo")
ui = mcrfpy.sceneUI("focus_demo")
focus_demo = mcrfpy.Scene("focus_demo")
ui = focus_demo.children
# Background
bg = mcrfpy.Frame(
@ -752,10 +752,10 @@ def create_demo_scene():
status_text.text = "No widget focused"
# Activate scene first (keypressScene sets handler for CURRENT scene)
mcrfpy.setScene("focus_demo")
focus_demo.activate()
# Register key handler for the now-current scene
mcrfpy.keypressScene(on_key)
focus_demo.on_key = on_key
# Set initial focus
focus_mgr.focus(0)