Base class for all game scenes.
Provides lifecycle methods and UI element management.
All custom scenes should inherit from this class.
Attributes:
ui_elements (List[UIElement]): List of UI elements in this scene
_initialized (bool): Whether the scene has been initialized
engine (LunaEngine): Reference to the game engine
name: str = ''
WIDTH: int = 0
HEIGHT: int = 0
def __init__(self: Any, engine: 'LunaEngine', *args: tuple, **kwargs: dict) -> Any
def update_window_size(self: Any) -> Any
def _add_event_to_handler(self: Any, element: UIElement) -> Any
def _update_on_change_child(self: Any, element: UIElement) -> Any
def _ui_element_list(self: Any, event_type: ElementsListEvents, element: UIElement, index: Optional[int] = None) -> Any
def on_enter(self: Any, previous_scene: Optional[str] = None) -> None
def on_exit(self: Any, next_scene: Optional[str] = None) -> None
def update(self: Any, dt: float) -> None
def _update(self: Any, dt: float) -> Any
def render(self: Any, renderer: Renderer | OpenGLRenderer) -> None
def get_scene_performance_stats(self: Any) -> Dict[str, float]
def add_ui_element(self: Any, ui_element: UIElement) -> None
def remove_ui_element(self: Any, ui_element: UIElement) -> bool
def get_ui_element_by_id(self: Any, element_id: str) -> Optional[UIElement]
def get_ui_elements_by_type(self: Any, element_type: type) -> List[UIElement]
def get_ui_elements_by_group(self: Any, group: str) -> List[UIElement]
def toggle_element_group(self: Any, group: str, visible: bool) -> None
def clear_element_group(self: Any, group: str) -> None
def clear_element_type(self: Any, element_type: type) -> None
def get_all_ui_elements(self: Any) -> List[UIElement]
def has_element_by_id(self: Any, element_id: str) -> bool
def has_element(self: Any, element: UIElement) -> bool
def clear_ui_elements(self: Any) -> None