Source code for mini_arcade_core.engine.game_config

"""
Game configuration classes.
"""

from __future__ import annotations

from dataclasses import dataclass, field

from mini_arcade_core.backend import Backend


[docs] @dataclass class PostFXConfig: """ Configuration for post-processing effects. :ivar enabled (bool): Whether post effects are enabled by default. :ivar active (list[str]): List of active effect IDs by default. """ enabled: bool = True active: list[str] = field(default_factory=list)
[docs] @dataclass class GameConfig: """ Configuration options for the Game. :ivar initial_scene (str): Identifier of the initial scene to load. :ivar fps (int): Target frames per second. :ivar backend (Backend | None): Optional Backend instance to use for rendering and input. :ivar virtual_resolution (tuple[int, int]): Virtual render resolution. :ivar postfx (PostFXConfig): Configuration for post-processing effects. """ initial_scene: str = "main" fps: int = 60 backend: Backend | None = None virtual_resolution: tuple[int, int] = (800, 600) postfx: PostFXConfig = field(default_factory=PostFXConfig) enable_profiler: bool = False