28 lines
716 B
Python
28 lines
716 B
Python
|
from typing import Dict, Optional, Any
|
||
|
|
||
|
from bemani.backend.base import Base, Factory
|
||
|
from bemani.backend.bishi.bishi import TheStarBishiBashi
|
||
|
from bemani.common import Model
|
||
|
from bemani.data import Data
|
||
|
|
||
|
|
||
|
class BishiBashiFactory(Factory):
|
||
|
|
||
|
MANAGED_CLASSES = [
|
||
|
TheStarBishiBashi,
|
||
|
]
|
||
|
|
||
|
@classmethod
|
||
|
def register_all(cls) -> None:
|
||
|
for game in ['IBB']:
|
||
|
Base.register(game, BishiBashiFactory)
|
||
|
|
||
|
@classmethod
|
||
|
def create(cls, data: Data, config: Dict[str, Any], model: Model, parentmodel: Optional[Model]=None) -> Optional[Base]:
|
||
|
|
||
|
if model.game == 'IBB':
|
||
|
return TheStarBishiBashi(data, config, model)
|
||
|
|
||
|
# Unknown game version
|
||
|
return None
|