23 lines
852 B
Python
23 lines
852 B
Python
from app.core.freeturn import FreeTurnBackend
|
|
from app.core.manager import EngineManager
|
|
from app.core.native import NativeEngineBackend
|
|
from app.core.registry import BackendRegistry
|
|
from app.core.signbox import SignBoxBackend
|
|
from app.models import EngineKind
|
|
|
|
|
|
def build_engine_manager(native_bridge=None) -> EngineManager:
|
|
registry = BackendRegistry()
|
|
if native_bridge is None:
|
|
registry.register(EngineKind.SIGNBOX, SignBoxBackend)
|
|
registry.register(EngineKind.FREETURN, FreeTurnBackend)
|
|
else:
|
|
registry.register(
|
|
EngineKind.SIGNBOX,
|
|
lambda: NativeEngineBackend(EngineKind.SIGNBOX, native_bridge),
|
|
)
|
|
registry.register(
|
|
EngineKind.FREETURN,
|
|
lambda: NativeEngineBackend(EngineKind.FREETURN, native_bridge),
|
|
)
|
|
return EngineManager(registry)
|