ó
    I†Öi  ã                  óH   • S SK Jr  S SKJr  S SKJr  \ " S S\5      5       rg)é    )Úannotations)Ú	dataclass)ÚDataClassJSONMixinc                  óP   • \ rS rSr% SrSrS\S'   SS jrSS jrSS jr	SS	 jr
S
rg)ÚPokerTurnTimeré   znPer-turn countdown timer (ticks at 20/s).

Attributes:
    ticks_remaining: Remaining ticks in the countdown.
r   ÚintÚticks_remainingc                ó,   • [        SU5      S-  U l        g)z(Start the timer for a number of seconds.r   é   N)Úmaxr
   )ÚselfÚsecondss     Ú<c:\Users\dbart\PlayPalace11\server\game_utils\poker_timer.pyÚstartÚPokerTurnTimer.start   s   € ä" 1 g›°Ñ3ˆÕó    c                ó   • SU l         g)zClear the timer to zero.r   N©r
   ©r   s    r   ÚclearÚPokerTurnTimer.clear   s
   € à ˆÕr   c                ól   • U R                   S::  a  gU =R                   S-  sl         U R                   S:H  $ )z9Advance the timer by one tick; return True if it expired.r   Fé   r   r   s    r   ÚtickÚPokerTurnTimer.tick   s5   € à×Ñ 1Ó$ØØ×Ò Ñ!ÕØ×#Ñ# qÑ(Ð(r   c                óH   • U R                   S::  a  gU R                   S-   S-  $ )zReturn remaining whole seconds.r   é   r   r   r   s    r   Úseconds_remainingÚ PokerTurnTimer.seconds_remaining!   s)   € à×Ñ 1Ó$ØØ×$Ñ$ rÑ)¨bÑ0Ð0r   r   N)r   r	   ÚreturnÚNone)r!   r"   )r!   Úbool)r!   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r
   Ú__annotations__r   r   r   r   Ú__static_attributes__© r   r   r   r      s'   ‡ ñð €OSÓô4ô!ô)÷1r   r   N)Ú
__future__r   Údataclassesr   Úmashumaro.mixins.jsonr   r   r+   r   r   Ú<module>r/      s*   ðÝ "å !å 4ð ô1Ð'ó 1ó ñ1r   