factoriax.playground.play.launch_screen

factoriax.playground.play.launch_screen#

Pre-game launch screen: Play, Settings, and Reset to defaults.

The screen mirrors factoriax.playground.menu.main_menu: a list of options on the left, content on the right. Selecting Settings on the left turns the right panel into an editable list of EnvParams fields. Selecting Play commits the current values and returns control to the play loop. Selecting Reset to defaults replaces every field with EnvParams() defaults and a fresh seed.

_confirm_scale_change() is unrelated to the launch flow. It lives here because factoriax.playground.menu.controls_menu imports it.

factoriax.playground.play.launch_screen.run_settings_menu(screen: Surface, initial_config: PlayerConfig | None = None) → PlayerConfig | None#

Show the launch screen, and return the settings that the user selected.

The function writes the settings to disk before it returns, for both results. It calls factoriax.playground.config.save_config() to do this.

Returns:

The settings, for Enter on Play. The caller then gives them to the play loop. It is None for Backspace, which returns the user to the main menu.

Return type:

PlayerConfig or None