§
   2OÂû¹É¶�ã                   óH   — d dl Z d dlZd dlmZ d dlmZ  G d„ d¦  «        ZdS )é    N)Ú	AIHandler)Ú	user_datac                   ó–   — e Zd ZdZdd„Zdd„Zdedefd	„Zd
„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd„ Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚGameControlleru�   
    HlavnÃ­ hernÃ­ kontroler, kterÃ½ deleguje na specializovanÃ© kontrolery podle typu hry.
    ZachovÃ¡vÃ¡ plnou kompatibilitu s existujÃ­cÃ­m kÃ³dem.
    Ú ÚmovieNc	           	      ó`  — t          j        ¦   «         | _        || _        || _        || _        || _        || _        || _        || _	        |pi | _
        d| _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        |||||||| j
        dœ| _        d S )NÚintro)ÚtitleÚplotÚgenreÚ
media_typeÚepisode_titleÚseason_numberÚepisode_numberÚ
actor_data)Ú	xbmcaddonÚAddonÚaddonr   r   r   r   r   r   r   r   Ú
game_stateÚ	game_typeÚupdate_display_callbackÚupdate_buttons_callbackÚupdate_sidebar_callbackÚshow_error_callbackÚset_focus_callbackÚstart_countdown_callbackÚclose_dialog_callbackÚactive_controllerÚ_constructor_params)	Úselfr   r   r   r   r   r   r   r   s	            úc/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/games/GameManager.pyÚ__init__zGameController.__init__   sÚ   € Ý”_Ñ&Ô&ˆŒ
ð ˆŒ
ØˆŒ	ØˆŒ
Ø$ˆŒØ*ˆÔØ*ˆÔØ,ˆÔð %Ð*¨ˆŒð "ˆŒØˆŒð (,ˆÔ$Ø'+ˆÔ$Ø'+ˆÔ$Ø#'ˆÔ Ø"&ˆÔØ(,ˆÔ%Ø%)ˆÔ"ð "&ˆÔð ØØØ$Ø*Ø*Ø,Øœ/ð	$
ð 	$
ˆÔ Ð Ð ó    c
                 ó„   — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        dS )u-   NastavÃ­ callback funkce pro komunikaci s UI.N)	r   r   r   r   r   r   r   Ú"update_millionaire_ladder_callbackÚ!set_answer_button_colors_callback)
r!   Úupdate_displayÚupdate_buttonsÚupdate_sidebarÚ
show_errorÚ	set_focusÚstart_countdownÚclose_dialogÚupdate_millionaire_ladderÚset_answer_button_colorss
             r"   Úset_ui_callbackszGameController.set_ui_callbacks8   sP   € à'5ˆÔ$Ø'5ˆÔ$Ø'5ˆÔ$Ø#-ˆÔ Ø"+ˆÔØ(7ˆÔ%Ø%1ˆÔ"Ø2KˆÔ/Ø1IˆÔ.Ð.Ð.r$   ÚtextÚreturnc                 ó   — |S )uF   PÅ™idÃ¡ informaci o AI modelu na zaÄ�Ã¡tek textu velmi malÃ½m pÃ­smem.© )r!   r2   s     r"   Ú_add_ai_info_headerz"GameController._add_ai_info_headerD   s	   € ð ˆr$   c                 óX  — t          j        dt           j        ¬¦  «         d| _        d| _        | j        dk    rd}d}d}nN| j        d	k    rd
}d}d}n<| j        dk    rd}d}d}n*| j        dk    rd}d}d}n| j        dk    rd}d}d}nd}d}d}d|› d|› d|› d|› d |› d!�}| j        r(|                      |                      |¦  «        ¦  «         | j        rd"}|                      |d#d$d%¦  «         | j	        r|  	                    ¦   «          | j
        r|  
                    d&¦  «         dS dS )'u   SpustÃ­ vÃ½bÄ›r typu hry.zB[plugin.video.milionar] GameController.start_game_selection called©ÚlevelÚgame_selectionNÚseriesu	   seriÃ¡lemu   seriÃ¡luu   SERIÃ�LOVÃ� MILIONÃ�Å˜ÚactorÚhercemÚherciu   MILIONÃ�Å˜ S HERCEMÚdirectoru   reÅ¾isÃ©remu
   reÅ¾isÃ©ruu   MILIONÃ�Å˜ S REÅ½ISÃ‰REMÚwriteru   scÃ©nÃ¡ristouu   scÃ©nÃ¡ristoviu   MILIONÃ�Å˜ SE SCÃ‰NÃ�RISTOUÚcreatoru   tvÅ¯rcemu   tvÅ¯rciu   MILIONÃ�Å˜ S TVÅ®RCEMÚfilmemÚfilmuu   FILMOVÃ� MILIONÃ�Å˜u;   ADVENTURE (beta):
â€¢ InteraktivnÃ­ pÅ™Ã­bÄ›h inspirovanÃ½ uK   
â€¢ VaÅ¡e volby ovlivnÃ­ prÅ¯bÄ›h a konec
â€¢ Hrajete jako jedna z postav u!   

KVÃ�ZOVÃ� HRA:
â€¢ 5 otÃ¡zek o u2    z rÅ¯znÃ½ch oblastÃ­
â€¢ TestovÃ¡nÃ­ znalostÃ­ o u'   
â€¢ ZÃ­skejte co nejvyÅ¡Å¡Ã­ skÃ³re!

u�   :
â€¢ Hra inspirovanÃ¡ Chcete bÃ½t milionÃ¡Å™em
â€¢ OtÃ¡zky s postupnÄ› narÅ¯stajÃ­cÃ­ obtÃ­Å¾nostÃ­
â€¢ PomocnÃ­ci a Å¡ance na velkou vÃ½hru!

u
   MilionÃ¡Å™u   KvÃ­zovÃ¡ hrazAdventure (beta)u   ZavÅ™Ã­tr   )ÚxbmcÚlogÚLOGINFOr   r   r   r   r6   r   r   r   )r!   Úmedia_referenceÚmedia_aboutÚ
game_titleÚ
intro_textÚmillionaire_buttons         r"   Ústart_game_selectionz#GameController.start_game_selectionI   sÕ  € åŒÐUÕ]aÔ]iÐjÑjÔjÐjØ*ˆŒØ!%ˆÔð Œ?˜hÒ&Ð&Ø)ˆOØ$ˆKØ1ˆJˆJØŒ_ Ò'Ð'Ø&ˆOØ!ˆKØ.ˆJˆJØŒ_ 
Ò*Ð*Ø+ˆOØ&ˆKØ3ˆJˆJØŒ_ Ò(Ð(Ø-ˆOØ*ˆKØ6ˆJˆJØŒ_ 	Ò)Ð)Ø(ˆOØ#ˆKØ0ˆJˆJà&ˆOØ!ˆKØ.ˆJð<Ø8Gð<ð <ð 0;ð<ð <ð
  +ð<ð <ð ,7ð<ð <ð ð<ð <ð <ð 	ð Ô'ð 	OØ×(Ò(¨×)AÒ)AÀ*Ñ)MÔ)MÑNÔNÐNØÔ'ð 	nà!-ÐØ×(Ò(Ð);¸_ÐN`ÐblÑmÔmÐmØÔ'ð 	+Ø×(Ò(Ñ*Ô*Ð*àÔ"ð 	'Ø×#Ò# AÑ&Ô&Ð&Ð&Ð&ð	'ð 	'r$   c                 óŠ   — t          j        dt           j        ¬¦  «         d| _        d| _        |                      ¦   «          dS )uJ   JednoduchÃ½ nÃ¡vrat na hlavnÃ­ menu - resetuje stav a spustÃ­ vÃ½bÄ›r hry.zA[plugin.video.milionar] GameController.return_to_main_menu calledr8   Nr:   )rD   rE   rF   r   r   rL   ©r!   s    r"   Úreturn_to_main_menuz"GameController.return_to_main_menu„   sC   € åŒÐTÕ\`Ô\hÐiÑiÔiÐiØ!%ˆÔØ*ˆŒØ×!Ò!Ñ#Ô#Ð#Ð#Ð#r$   c                 ó@   — | j         r|                       ¦   «          dS dS )u   UkonÄ�Ã­ hru - zavÅ™e dialog.N)r   rN   s    r"   Úend_gamezGameController.end_game‹   s/   € àÔ%ð 	)Ø×&Ò&Ñ(Ô(Ð(Ð(Ð(ð	)ð 	)r$   c                 óŠ   — | j         r| j                              ¦   «         S | j        dk    rdd| j        dd…         › �dgS g d¢S )u,   VracÃ­ poloÅ¾ky pro sidebar podle stavu hry.r:   u   VÃ½bÄ›r typu hryu	   MÃ©dium: Né   zVyberte hru)u   NeznÃ¡mÃ½ stavr   r   )r   Úget_sidebar_itemsr   r   rN   s    r"   rT   z GameController.get_sidebar_items�   s\   € àÔ!ð 	.ØÔ)×;Ò;Ñ=Ô=Ð=ØŒ_Ð 0Ò0Ð0Ø&Ð(E°D´J¸sÀ¸s´OÐ(EÐ(EÀ}ÐUÐUà-Ð-Ð-Ð-r$   c           	      ó,  — ddl m}  |di | j        ¤Ž| _        | j                             | j        | j        | j        | j        | j	        | j
        | j        ¦  «         | j                             | j        ¦  «         | j                             ¦   «          dS )u/   VytvoÅ™Ã­ a pÅ™epne na AdventureGameController.é   )ÚAdventureGameControllerNr5   )ÚAdventureGamerW   r    r   r1   r   r   r   r   r   r   r   Úset_return_to_menu_callbackrO   Ústart_specific_game)r!   rW   s     r"   Ú_start_adventure_gamez$GameController._start_adventure_game™   s°   € à:Ð:Ð:Ð:Ð:Ð:à!8Ð!8Ð!TÐ!T¸4Ô;SÐ!TÐ!TˆÔð 	Ô×/Ò/ØÔ(ØÔ(ØÔ(ØÔ$ØÔ#ØÔ)ØÔ&ñ	
ô 	
ð 	
ð 	Ô×:Ò:¸4Ô;SÑTÔTÐTð 	Ô×2Ò2Ñ4Ô4Ð4Ð4Ð4r$   c           	      ó,  — ddl m}  |di | j        ¤Ž| _        | j                             | j        | j        | j        | j        | j	        | j
        | j        ¦  «         | j                             | j        ¦  «         | j                             ¦   «          dS )u*   VytvoÅ™Ã­ a pÅ™epne na QuizGameController.rV   )ÚQuizGameControllerNr5   )ÚQuizGamer]   r    r   r1   r   r   r   r   r   r   r   rY   rO   rZ   )r!   r]   s     r"   Ú_start_quiz_gamezGameController._start_quiz_game°   s°   € à0Ð0Ð0Ð0Ð0Ð0à!3Ð!3Ð!OÐ!O°dÔ6NÐ!OÐ!OˆÔð 	Ô×/Ò/ØÔ(ØÔ(ØÔ(ØÔ$ØÔ#ØÔ)ØÔ&ñ	
ô 	
ð 	
ð 	Ô×:Ò:¸4Ô;SÑTÔTÐTð 	Ô×2Ò2Ñ4Ô4Ð4Ð4Ð4r$   c                 ó¬  — | j         dk    r	ddlm} |}nddlm} |}| j                             ¦   «         } |di |¤Ž| _        | j                             | j        | j        | j	        | j
        | j        | j        | j        | j        t          | dd¦  «        ¦	  «	         | j                             | j        ¦  «         | j                             ¦   «          dS )u1   VytvoÅ™Ã­ a pÅ™epne na MillionaireGameController.r<   rV   )ÚMillionaireGameControllerr'   Nr5   )r   ÚMillionaireGamera   r    Úcopyr   r1   r   r   r   r   r   r   r   r&   ÚgetattrrY   rO   rZ   )r!   ra   Úcontroller_clsÚparamss       r"   Ú_start_millionaire_gamez&GameController._start_millionaire_gameÇ   s  € ð Œ?˜gÒ%Ð%ØBÐBÐBÐBÐBÐBØ6ˆNˆNàBÐBÐBÐBÐBÐBØ6ˆNàÔ)×.Ò.Ñ0Ô0ˆØ!/ Ð!9Ð!9°&Ð!9Ð!9ˆÔð 	Ô×/Ò/ØÔ(ØÔ(ØÔ(ØÔ$ØÔ#ØÔ)ØÔ&ØÔ3Ý�DÐ=¸tÑDÔDñ
	
ô 
	
ð 
	
ð 	Ô×:Ò:¸4Ô;SÑTÔTÐTð 	Ô×2Ò2Ñ4Ô4Ð4Ð4Ð4r$   c                 ó`   — | j         r!t          | j         d¦  «        r| j         j        S | j        S )uI   VracÃ­ aktuÃ¡lnÃ­ stav hry - buÄ� z aktivnÃ­ho controlleru nebo vlastnÃ­.r   )r   Úhasattrr   rN   s    r"   Úcurrent_game_statez!GameController.current_game_stateç   s7   € ð Ô!ð 	5¥g¨dÔ.DÀlÑ&SÔ&Sð 	5ØÔ)Ô4Ð4ØŒÐr$   c           
      óV  — t          j        d|› d| j        › d| j        rt	          | j        ¦  «        j        nd› �t           j        ¬¦  «         | j        rVt          j        dt	          | j        ¦  «        j        › �t           j        ¬¦  «         | j                             |¦  «         dS | j        dk    rð|dk    r6t          j        d	t           j        ¬¦  «         |  	                    ¦   «          dS |d
k    r6t          j        dt           j        ¬¦  «         |  
                    ¦   «          dS |dk    r6t          j        dt           j        ¬¦  «         |                      ¦   «          dS |dk    r8t          j        dt           j        ¬¦  «         |                      ¦   «          dS dS dS )uB   Deleguje volby na aktivnÃ­ controller nebo Å™eÅ¡Ã­ game_selection.zA[plugin.video.milionar] GameController.make_choice: choice_index=z, game_state=z, active_controller=ÚNoner8   z&[plugin.video.milionar] Delegating to r:   r   z1[plugin.video.milionar] Starting Millionaire gamerV   z*[plugin.video.milionar] Starting Quiz gameé   z/[plugin.video.milionar] Starting Adventure gameé   z#[plugin.video.milionar] Ending gameN)rD   rE   rj   r   ÚtypeÚ__name__rF   Úmake_choicer   rg   r_   r[   rQ   ©r!   Úchoice_indexs     r"   rq   zGameController.make_choiceî   s  € åŒð  kÐUað  kð  kÐptô  qHð  kð  kð  GKô  G]ð  ^iõ  ^bð  cgô  cyñ  ^zô  ^zô  ^Cð  ^Cð  cið  kð  kõ  swô  sð  	@ñ  	@ô  	@ð  	@ð Ô!ð 	 åŒHÐe½dÀ4ÔCYÑ>ZÔ>ZÔ>cÐeÐeÕmqÔmyÐzÑzÔzÐzØÔ"×.Ò.¨|Ñ<Ô<Ð<Ð<Ð<ØŒ_Ð 0Ò0Ð0à˜qÒ Ð Ý”ÐLÕTXÔT`ÐaÑaÔaÐaØ×,Ò,Ñ.Ô.Ð.Ð.Ð.Ø Ò"Ð"Ý”ÐEÍTÌ\ÐZÑZÔZÐZØ×%Ò%Ñ'Ô'Ð'Ð'Ð'Ø Ò"Ð"Ý”ÐJÕRVÔR^Ð_Ñ_Ô_Ð_Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,Ø Ò"Ð"Ý”Ð>ÅdÄlÐSÑSÔSÐSØ—’‘”���ð 1Ð0ð #Ð"r$   c                 ó.   — |                       ¦   «          dS )u8   KompatibilnÃ­ metoda pro pÅ™Ã­mÃ© spuÅ¡tÄ›nÃ­ adventure.N)r[   rN   s    r"   Ústart_adventure_gamez#GameController.start_adventure_game  s   € à×"Ò"Ñ$Ô$Ð$Ð$Ð$r$   c                 ó.   — |                       ¦   «          dS )u5   KompatibilnÃ­ metoda pro pÅ™Ã­mÃ© spuÅ¡tÄ›nÃ­ kvÃ­zu.N)r_   rN   s    r"   Ústart_quiz_gamezGameController.start_quiz_game  s   € à×ÒÑÔÐÐÐr$   c                 óz   — | j         r1t          | j         d¦  «        r| j                              |¦  «         dS dS dS )u(   KompatibilnÃ­ metoda pro quiz odpovÄ›di.Úanswer_quiz_questionN)r   ri   ry   )r!   Úanswer_indexs     r"   ry   z#GameController.answer_quiz_question  sY   € àÔ!ð 	F¥g¨dÔ.DÐF\Ñ&]Ô&]ð 	FØÔ"×7Ò7¸ÑEÔEÐEÐEÐEð	Fð 	Fð 	Fð 	Fr$   c                 óz   — | j         r1t          | j         d¦  «        r| j                              |¦  «         dS dS dS )u)   KompatibilnÃ­ metoda pro adventure volby.Úmake_adventure_choiceN)r   ri   r|   rr   s     r"   r|   z$GameController.make_adventure_choice  sY   € àÔ!ð 	G¥g¨dÔ.DÐF]Ñ&^Ô&^ð 	GØÔ"×8Ò8¸ÑFÔFÐFÐFÐFð	Gð 	Gð 	Gð 	Gr$   c                 óx   — | j         r0t          | j         d¦  «        r| j                              ¦   «          dS dS dS )u7   KompatibilnÃ­ metoda pro dokonÄ�enÃ­ quiz vyhodnocenÃ­.Úfinish_answer_evaluationN)r   ri   r~   rN   s    r"   r~   z'GameController.finish_answer_evaluation  sQ   € àÔ!ð 	>¥g¨dÔ.DÐF`Ñ&aÔ&að 	>ØÔ"×;Ò;Ñ=Ô=Ð=Ð=Ð=ð	>ð 	>ð 	>ð 	>r$   )r   r   r   r   r   NNN)NNNNN)rp   Ú
__module__Ú__qualname__Ú__doc__r#   r1   Ústrr6   rL   rO   rQ   rT   r[   r_   rg   Úpropertyrj   rq   ru   rw   ry   r|   r~   r5   r$   r"   r   r      sS  € € € € € ðð ð
)
ð )
ð )
ð )
ðV
Jð 
Jð 
Jð 
Jð¨ð °ð ð ð ð ð
9'ð 9'ð 9'ðv$ð $ð $ð)ð )ð )ð
.ð .ð .ð5ð 5ð 5ð.5ð 5ð 5ð.5ð 5ð 5ð@ ðð ñ „Xðð ð  ð  ð2%ð %ð %ð ð  ð  ðFð Fð Fð
Gð Gð Gð
>ð >ð >ð >ð >r$   r   )rD   r   Úwcs.air   Ú
ai_handlerÚwcsr   r   r5   r$   r"   ú<module>r‡      sz   ðØ €€€Ø Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð ðU>ð U>ð U>ð U>ð U>ñ U>ô U>ð U>ð U>ð U>r$   