
    soj                        d dl mZ d dlmZ d dlmZ d dlmZ  G d de          Z	e	j
        ej        e	j        ej        e	j        ej        e	j        ej        e	j        ej        e	j        ej        iZ ee	j
        de	j        de	j        d	e	j        d
e	j        de	j        di          Z ee	j
        de	j        de	j        dej                                        ffe	j        dej                                        ffe	j        dej                                        ffe	j        dej                                        ffi          Ze	j        e	j        e	j        e	j        gZe	j
        e	j        gZe	j        e	j        e	j        e	j        gZ dS )    )IntEnumN)SavedMediaName)LazyPhraseDictc                       e Zd ZdZdZdZdZdZdZdZ	de
fd	Zdefd
ZdefdZdefdZdefdZdefdZeded          fd            ZdS )GameTypez 
    Enum for the game type
                      returnc                     t           |          S )z^
        Get the SavedMediaName for this GameType
        :return: The SavedMediaName
        )GAME_TYPE_SAVED_MEDIA_NAME_DICTselfs    /app/src/model/game/GameType.pyget_saved_media_namezGameType.get_saved_media_name   s    
 /t44    c                     t           |          S )zJ
        Get the name for this GameType
        :return: The name
        )GAME_TYPE_NAME_DICTr   s    r   get_namezGameType.get_name   s    
 #4((r   c                     t           |          S )zX
        Get the description for this GameType
        :return: The description
        )GAME_TYPE_DESCRIPTION_DICTr   s    r   get_descriptionzGameType.get_description"   s    
 *$//r   c                     | t           v S )zx
        Check if this game type has a difficulty
        :return: True if it has a difficulty, False otherwise
        )GAME_TYPE_WITH_DIFFICULTYr   s    r   has_difficulty_levelzGameType.has_difficulty_level)       
 000r   c                     | t           v S )zr
        Check if this game type is turn based
        :return: True if it is turn based, False otherwise
        )GAME_TYPE_TURN_BASED_LISTr   s    r   is_turn_basedzGameType.is_turn_based0   r   r   c                     | t           v S )zr
        Check if this game type is time based
        :return: True if it is time based, False otherwise
        GAME_TYPE_GUESS_LISTr   s    r   is_guess_basedzGameType.is_guess_based7   s    
 +++r   c                      t           S )zi
        Get the list of game types that are guess based
        :return: The list of game types
        r$    r   r   get_guess_based_listzGameType.get_guess_based_list>   s
     $#r   N)__name__
__module____qualname____doc__ROCK_PAPER_SCISSORSRUSSIAN_ROULETTEWHOS_WHOSHAMBLESGUESS_OR_LIFEPUNK_RECORDSr   r   strr   r   boolr   r"   r&   staticmethodlistr)   r(   r   r   r   r      s         HHML5n 5 5 5 5)# ) ) ) )0 0 0 0 01d 1 1 1 11t 1 1 1 1, , , , , $$z"2 $ $ $ \$ $ $r   r   ROCK_PAPER_SCISSORS_GAME_NAMERUSSIAN_ROULETTE_GAME_NAMEWHOS_WHO_GAME_NAMESHAMBLES_GAME_NAMEGUESS_OR_LIFE_GAME_NAMEPUNK_RECORDS_GAME_NAME$ROCK_PAPER_SCISSORS_GAME_DESCRIPTION!RUSSIAN_ROULETTE_GAME_DESCRIPTIONWHOS_WHO_GAME_DESCRIPTIONSHAMBLES_GAME_DESCRIPTIONGUESS_OR_LIFE_GAME_DESCRIPTIONPUNK_RECORDS_GAME_DESCRIPTION)!enumr   resources.EnvironmentEnvironmentEnvsrc.model.enums.SavedMediaNamer   src.utils.LazyPhraseDictr   r   r.   GAME_ROCK_PAPER_SCISSORSr/   GAME_RUSSIAN_ROULETTEr0   GAME_WHOS_WHOr1   GAME_SHAMBLESr2   GAME_GUESS_OR_LIFEr3   GAME_PUNK_RECORDSr   r   WHOS_WHO_NEXT_LEVEL_WAIT_TIMEget_intSHAMBLES_NEXT_LEVEL_WAIT_TIME GUESS_OR_LIFE_NEW_LIFE_WAIT_TIME"PUNK_RECORDS_NEXT_DETAIL_WAIT_TIMEr   r   r!   r%   r(   r   r   <module>rU      s+         # # # # # # 9 9 9 9 9 9 3 3 3 3 3 3<$ <$ <$ <$ <$w <$ <$ <$@  ."I~C~3~3N=>;#  %n$&E!#?// 97	 	  ,^$&L!#F'.6688:
 	'.6688:
 	,199;;=!
 	+3;;==? 
  0 	  &98;TU 	   r   