2021-09-07 19:56:15 +02:00
|
|
|
from typing import List, Optional, Type
|
2021-09-04 17:17:22 +02:00
|
|
|
|
|
|
|
from bemani.backend.base import Base, Factory
|
|
|
|
from bemani.backend.mga.mga import MetalGearArcade
|
|
|
|
from bemani.common import Model
|
|
|
|
from bemani.data import Config, Data
|
|
|
|
|
|
|
|
|
|
|
|
class MetalGearArcadeFactory(Factory):
|
|
|
|
|
2021-09-07 19:56:15 +02:00
|
|
|
MANAGED_CLASSES: List[Type[Base]] = [
|
2021-09-04 17:17:22 +02:00
|
|
|
MetalGearArcade,
|
|
|
|
]
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def register_all(cls) -> None:
|
|
|
|
for gamecode in ['I36']:
|
|
|
|
Base.register(gamecode, MetalGearArcadeFactory)
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def create(cls, data: Data, config: Config, model: Model, parentmodel: Optional[Model]=None) -> Optional[Base]:
|
|
|
|
|
|
|
|
if model.gamecode == 'I36':
|
|
|
|
return MetalGearArcade(data, config, model)
|
|
|
|
|
|
|
|
# Unknown game version
|
|
|
|
return None
|