# vim: set fileencoding=utf-8 from typing import Optional from bemani.backend.jubeat.base import JubeatBase from bemani.common import VersionConstants class Jubeat(JubeatBase): name: str = 'Jubeat' version: int = VersionConstants.JUBEAT class JubeatRipples(JubeatBase): name: str = 'Jubeat Ripples' version: int = VersionConstants.JUBEAT_RIPPLES def previous_version(self) -> Optional[JubeatBase]: return Jubeat(self.data, self.config, self.model) class JubeatRipplesAppend(JubeatBase): name: str = 'Jubeat Ripples Append' version: int = VersionConstants.JUBEAT_RIPPLES_APPEND def previous_version(self) -> Optional[JubeatBase]: return JubeatRipples(self.data, self.config, self.model) class JubeatKnit(JubeatBase): name: str = 'Jubeat Knit' version: int = VersionConstants.JUBEAT_KNIT def previous_version(self) -> Optional[JubeatBase]: return JubeatRipplesAppend(self.data, self.config, self.model) class JubeatKnitAppend(JubeatBase): name: str = 'Jubeat Knit Append' version: int = VersionConstants.JUBEAT_KNIT_APPEND def previous_version(self) -> Optional[JubeatBase]: return JubeatKnit(self.data, self.config, self.model) class JubeatCopious(JubeatBase): name: str = 'Jubeat Copious' version: int = VersionConstants.JUBEAT_COPIOUS def previous_version(self) -> Optional[JubeatBase]: return JubeatKnitAppend(self.data, self.config, self.model) class JubeatCopiousAppend(JubeatBase): name: str = 'Jubeat Copious Append' version: int = VersionConstants.JUBEAT_COPIOUS_APPEND def previous_version(self) -> Optional[JubeatBase]: return JubeatCopious(self.data, self.config, self.model)