
    љi                         S SK JrJr  S SKJrJr  S SKJr  S SKJrJ	r	   " S S\5      r
 " S S\
5      r " S	 S
\5      rg)    )ABCabstractmethod)	getLoggerNullHandler)Thread)timesleepc                   J    \ rS rSr\\S 5       5       r\S\S\4S j5       r	Sr
g)AnimationController   c                     g N selfs    U/home/james-whalen/.local/lib/python3.13/site-packages/aiavatar/animation/__init__.pycurrent_animation%AnimationController.current_animation   s     	    namedurationc                    #    g 7fr   r   r   r   r   s      r   animateAnimationController.animate   s     s   r   N)__name__
__module____qualname____firstlineno__propertyr   r   strfloatr   __static_attributes__r   r   r   r   r      s>       #   r   r   c                       \ rS rSrSS\S\S\4S jjr\S\4S j5       r	\	R                  S	\4S
 j5       r	S rS\4S jrS	\S\4S jrS rSrg)AnimationControllerBase   N
animations
idling_keydebugc           
      >   [        [        5      U l        U R                  R                  [	        5       5        X0l        U=(       d    USSSSSSSSS	0U l        X l        X l        S U l	        [        U R                  S
S9U l        U R                  R                  5         g )Nr   angry_hands_on_waist   concern_right_hand_front   
waving_arm   nodding_once   T)targetdaemon)r   r   logger
addHandlerr   r)   r'   r(   _current_animationreset_atr   reset_workerreset_threadstart)r   r'   r(   r)   s       r   __init__ AnimationControllerBase.__init__   s    ){}-
$ 
"A&!A)
 %","$*;*;DI!r   returnc                     U R                   $ r   r7   r   s    r   r   )AnimationControllerBase.current_animation%   s    &&&r   r   c                     Xl         g r   r@   )r   r   s     r   r   rA   )   s    "&r   c                     U R                   (       ah  [        5       U R                   :  aP  U R                  (       a(  U R                  R	                  SU R                    35        U R                  5         S U l         [        S5        M  )NzTime to reset: g?)r8   r   r)   r5   inforesetr	   r   s    r   r9   $AnimationControllerBase.reset_worker-   sY    }}4==!8::KK$$t}}o%FG

 $#J r   r8   c                     Xl         U R                  (       a)  U R                  R                  SU R                    35        g g )NzReset subscribed at )r8   r)   r5   rD   )r   r8   s     r   subscribe_reset'AnimationControllerBase.subscribe_reset7   s1     ::KK3DMM?CD r   r   c                    #    U R                  [        5       U-   5        U R                  R                  SU R                  U    SU S35        Xl        g 7f)Nzanimation:  ())rH   r   r5   rD   r'   r   r   s      r   r   AnimationControllerBase.animate<   sK     TVh./;tt'<&=RvQGH!%s   AAc                     U R                   R                  SU R                  U R                      SU R                   S35        U R                  U l        g )NzReset animation: rK   rL   )r5   rD   r'   r(   r   r   s    r   rE   AnimationControllerBase.resetA   sG    ,T__T__-M,NbQUQ`Q`Paabcd!%r   )r7   r'   r   r)   r(   r5   r8   r:   )NidlingF)r   r   r   r   dictr!   boolr<   r    r   setterr9   r"   rH   r   rE   r#   r   r   r   r%   r%      s    "4 "# "t "& '3 ' ' 'c ' 'E E
&# & &
1r   r%   c                       \ rS rSrSrg)AnimationControllerDummyF   r   N)r   r   r   r   r#   r   r   r   rU   rU   F   s    r   rU   N)abcr   r   loggingr   r   	threadingr   r   r	   r   r%   rU   r   r   r   <module>rZ      s8    # *  # 211 21j	6 	r   