mini_arcade_core.scenes.game_scene ================================== .. py:module:: mini_arcade_core.scenes.game_scene .. autoapi-nested-parse:: Game scene base class with replay capture controls enabled. Attributes ---------- .. autoapisummary:: mini_arcade_core.scenes.game_scene.TContext mini_arcade_core.scenes.game_scene.TWorld Classes ------- .. autoapisummary:: mini_arcade_core.scenes.game_scene.GameSceneSystemsConfig mini_arcade_core.scenes.game_scene.GameScene Module Contents --------------- .. py:data:: TContext .. py:data:: TWorld .. py:class:: GameSceneSystemsConfig Bases: :py:obj:`Generic`\ [\ :py:obj:`TContext`\ ] Declarative configuration for common gameplay scene systems. .. py:attribute:: controls_scene_key :type: str | None :value: None .. py:attribute:: intent_factory :type: Callable[[mini_arcade_core.scenes.systems.builtins.ActionSnapshot, TContext], object] | None :value: None .. py:attribute:: input_system_name :type: str :value: 'action_intent' .. py:attribute:: input_channel :type: str | None :value: 'player_1' .. py:attribute:: input_write_to_ctx_intent :type: bool :value: True .. py:attribute:: input_fallback_bindings :type: Mapping[str, Any] | None :value: None .. py:attribute:: input_system_factory :type: Callable[[mini_arcade_core.runtime.context.RuntimeContext], mini_arcade_core.scenes.systems.base_system.BaseSystem[TContext] | None] | None :value: None .. py:attribute:: pause_command_factory :type: Callable[[TContext], object] | None :value: None .. py:attribute:: pause_intent_attr :type: str :value: 'pause' .. py:attribute:: pause_system_name :type: str :value: 'pause_intent' .. py:attribute:: intent_command_bindings :type: Mapping[str, Callable[[TContext], object]] .. py:attribute:: intent_commands_system_name :type: str :value: 'intent_commands' .. py:attribute:: extra_system_factories :type: tuple[Callable[[mini_arcade_core.runtime.context.RuntimeContext], mini_arcade_core.scenes.systems.base_system.BaseSystem[TContext] | None], Ellipsis] :value: () .. py:attribute:: render_system_factory :type: Callable[[mini_arcade_core.runtime.context.RuntimeContext], mini_arcade_core.scenes.systems.base_system.BaseSystem[TContext] | None] | None :value: None .. py:class:: GameScene(ctx) Bases: :py:obj:`mini_arcade_core.scenes.sim_scene.SimScene`\ [\ :py:obj:`TContext`\ , :py:obj:`TWorld`\ ], :py:obj:`Generic`\ [\ :py:obj:`TContext`\ , :py:obj:`TWorld`\ ] Scene base class intended for gameplay scenes. Enables replay hotkeys by default in addition to screenshot/video. .. py:attribute:: capture_config :type: ClassVar[mini_arcade_core.scenes.systems.builtins.capture_hotkeys.SceneCaptureConfig] .. py:attribute:: auto_systems_enabled :type: ClassVar[bool] :value: True .. py:attribute:: systems_config :type: ClassVar[GameSceneSystemsConfig[TContext] | None] :value: None .. py:method:: build_auto_systems() -> Iterable[mini_arcade_core.scenes.systems.base_system.BaseSystem[TContext]] Return built-in/common systems auto-installed for this game scene. Subclasses can override to provide input/render/hotkey systems that should be attached automatically with no manual pipeline wiring. .. py:method:: tick(input_frame: mini_arcade_core.runtime.input_frame.InputFrame, dt: float) -> mini_arcade_core.engine.render.packet.RenderPacket Advance the simulation by dt seconds, processing input_frame. :param input_frame: Current input frame. :type input_frame: InputFrame :param dt: Delta time since last tick. :type dt: float