mini_arcade_core.engine.scenes.scene_manager ============================================ .. py:module:: mini_arcade_core.engine.scenes.scene_manager .. autoapi-nested-parse:: Module providing runtime adapters for window and scene management. Classes ------- .. autoapisummary:: mini_arcade_core.engine.scenes.scene_manager.SceneAdapter Module Contents --------------- .. py:class:: SceneAdapter(registry: mini_arcade_core.scenes.registry.SceneRegistry, game: mini_arcade_core.engine.game.Game) Manages multiple scenes (not implemented). .. py:property:: current_scene :type: mini_arcade_core.scenes.sim_scene.SimScene | None Get the currently active scene. :return: The active Scene instance, or None if no scene is active. :rtype: SimScene | None .. py:property:: visible_stack :type: List[mini_arcade_core.scenes.sim_scene.SimScene] Return the list of scenes that should be drawn (base + overlays). We draw from the top-most non-overlay scene upward. :return: List of visible Scene instances. :rtype: List[SimScene] .. py:property:: listed_scenes :type: List[mini_arcade_core.scenes.sim_scene.SimScene] Return all scenes in the stack. :return: List of all Scene instances in the stack. :rtype: List[SimScene] .. py:method:: change(scene_id: str) Change the current scene to the specified scene. :param scene_id: Identifier of the scene to switch to. :type scene_id: str .. py:method:: push(scene_id: str, *, as_overlay: bool = False, policy: mini_arcade_core.engine.scenes.models.ScenePolicy | None = None) Push a new scene onto the scene stack. :param scene_id: Identifier of the scene to push. :type scene_id: str :param as_overlay: Whether to push the scene as an overlay. :type as_overlay: bool .. py:method:: pop() -> mini_arcade_core.scenes.sim_scene.SimScene | None Pop the current scene from the scene stack. :return: The popped Scene instance, or None if the stack was empty. :rtype: SimScene | None .. py:method:: clean() Clean up all scenes from the scene stack. .. py:method:: quit() Quit the game .. py:method:: visible_entries() -> list[mini_arcade_core.engine.scenes.models.SceneEntry] Render from bottom->top unless an opaque entry exists; if so, render only from that entry up. :return: List of SceneEntry instances to render. :rtype: list[SceneEntry] .. py:method:: update_entries() -> list[mini_arcade_core.engine.scenes.models.SceneEntry] Tick/update scenes considering blocks_update. Typical: pause overlay blocks update below it. :return: List of SceneEntry instances to update. :rtype: list[SceneEntry] .. py:method:: input_entry() -> mini_arcade_core.engine.scenes.models.SceneEntry | None Who gets input this frame. If top blocks_input, only it receives input. If not, top still gets input (v1 simple). Later you can allow fall-through. :return: The SceneEntry that receives input, or None if no scenes are active. :rtype: SceneEntry | None .. py:method:: has_scene(scene_id: str) -> bool Check if a scene with the given ID exists in the stack. :param scene_id: Identifier of the scene to check. :type scene_id: str :return: True if the scene exists in the stack, False otherwise. :rtype: bool .. py:method:: remove_scene(scene_id: str) Remove a scene with the given ID from the stack. :param scene_id: Identifier of the scene to remove. :type scene_id: str