Source code for bascenev1._appsubsystem
# Released under the MIT License. See LICENSE for details.
#
"""Provides the scene_v1 app subsystem."""
from __future__ import annotations # Docs-generation hack.
from typing import override
import babase
import _bascenev1
[docs]
class SceneV1AppSubsystem(babase.AppSubsystem):
"""Consolidated scene_v1 state for the app.
Access the single shared instance of this class via the
:attr:`~babase.App.scene_v1` attr on the :class:`~babase.App`
instance.
"""
[docs]
@override
def reset(self) -> None:
# Wipe any app-mode-supplied scene asset set (see
# bascenev1.set_scene_asset_set). We run at every app-mode
# switch, so this is what guarantees an incoming mode can never
# inherit the outgoing one's art; the incoming mode supplies
# its own as it activates.
_bascenev1.clear_scene_asset_set_native()
# Docs-generation hack; import some stuff that we likely only forward-declared
# in our actual source code so that docs tools can find it.
from typing import (Coroutine, Any, Literal, Callable,
Generator, Awaitable, Sequence, Self)
import asyncio
from concurrent.futures import Future
from pathlib import Path
from enum import Enum