# Этот файл публично доступен. Модифицируйте его под свои сообственные экраны.

##############################################################################
# Say
#
# Экран отображения ADV-диалога.
# http://www.renpy.org/doc/html/screen_special.html#say
screen say:

    # Умолчания для side_image и two_window
    default side_image = None
    default two_window = False

    # Решаем, нужен ли нам двухоконный или однооконный вариант.
    if not two_window:

        # Вариант с одним окном.
        window:
            id "window"

            has vbox:
                style "say_vbox"

            if who:
                text who id "who"

            text what id "what"

    else:

        # Вариант с двумя окнами.
        vbox:
            style "say_two_window_vbox"

            if who:
                window:
                    style "say_who_window"

                    text who:
                        id "who"

            window:
                id "window"

                has vbox:
                    style "say_vbox"

                text what id "what"

    # Если есть изображение, отобразить его над текстом.
    if side_image:
        add side_image
    else:
        add SideImage() xalign 0.0 yalign 1.0



##############################################################################
# Choice
#
# Экран для отображения внутриигровых меню.
# http://www.renpy.org/doc/html/screen_special.html#choice

screen choice:

    window:
        style "menu_window"
        xalign 0.5
        yalign 0.5

        vbox:
            style "menu"
            spacing 2

            for caption, action, chosen in items:

                if action:

                    button:
                        action action
                        style "menu_choice_button"

                        text caption style "menu_choice"

                else:
                    text caption style "menu_caption"

init -2 python:
    config.narrator_menu = True

    style.menu_window.set_parent(style.default)
    style.menu_choice.set_parent(style.button_text)
    style.menu_choice.clear()
    style.menu_choice_button.set_parent(style.button)
    style.menu_choice_button.xminimum = int(config.screen_width * 0.75)
    style.menu_choice_button.xmaximum = int(config.screen_width * 0.75)


##############################################################################
# Input
#
# Экран для отображения renpy.input()
# http://www.renpy.org/doc/html/screen_special.html#input

screen input:

    window style "input_window":
        has vbox

        text prompt style "input_prompt"
        input id "input" style "input_text"

##############################################################################
# Nvl
#
# Экран для NVL-диалога и меню.
# http://www.renpy.org/doc/html/screen_special.html#nvl

screen nvl:

    window:
        style "nvl_window"

        has vbox:
            style "nvl_vbox"

        # Отображать диалог.
        for who, what, who_id, what_id, window_id in dialogue:
            window:
                id window_id

                has hbox:
                    spacing 10 xalign 0.5 yalign 0.5 ypos 0.5

                if who is not None:
                    text who id who_id

                text what id what_id

        # Отображать меню, если есть.
        if items:

            vbox:
                id "menu"

                for caption, action, chosen in items:

                    if action:

                        button:
                            style "nvl_menu_choice_button"
                            action action

                            text caption style "nvl_menu_choice"

                    else:

                        text caption style "nvl_dialogue"

    add SideImage() xalign 0.0 yalign 1.0

##############################################################################
# Main Menu
#
# Экран для отображения главного меню при запуске Ren'Py.
# http://www.renpy.org/doc/html/screen_special.html#main-menu

screen main_menu:
    

    # Это заменяет другие меню.
    tag menu
    

    # Фон главного меню.
    add "mmenu/bg.png"

    imagebutton auto "mmenu/start_%s.png" focus_mask True action [Play("sound", "start.ogg"), Start() ] hovered Play ("sound", "hover.ogg")
    imagebutton auto "mmenu/exitt_%s.png" focus_mask True action Quit(confirm=False) hovered Play ("sound", "hover.ogg")



##############################################################################
# Navigation
#
# Экран, включаемый в другие экраны для отображения навигации и фона.
# http://www.renpy.org/doc/html/screen_special.html#navigation
screen navigation:
    

    
    tag menu
    #on "show" action [ToggleMute("sfx")]
    #on "hide" action [ToggleMute("sfx")]
    #on "replace" action [ToggleMute("sfx")]

    # Фон игрового меню.
    add "mmenu/ingame.png"
    


    imagebutton auto "mmenu/prefs_%s.png" focus_mask True action ShowMenu("prefs") hovered Play ("sound", "hover.ogg")
    imagebutton auto "mmenu/exit2_%s.png" focus_mask True action MainMenu(confirm=True) hovered Play ("sound", "hover.ogg")


##############################################################################
# Save, Load
#
# Экраны для сохранения и загрузки игры.
# http://www.renpy.org/doc/html/screen_special.html#save
# http://www.renpy.org/doc/html/screen_special.html#load

# Ибо сохранение и загрузка очень похожи, мы совмещаем их в один экран,
# file_picker. Потом мы используем его из экранов
# загрузки и сохранения.

screen file_picker:

        # Кнопки сверху для выбора страницы.
    hbox:
        style_group "file_picker_nav"

    textbutton _(""):
        action FilePagePrevious()

    textbutton _(""):
        action FilePageNext()

            $ columns = 3
            $ rows = 3

        # Отобразить сетку файловых слотов.
            grid columns rows:
                transpose True
                xfill True
                style_group "file_picker"

            # Отобразить 10 слотов, с номерами от 1 до 10.
            #for i in range(1, columns * rows + 1):

                # Каждый из них - кнопка.
                #button:
                    #action FileAction(i)
                    #xfill True

                    #has hbox

                    # Добавить скриншот.
                    #add FileScreenshot(i)

                    #$ file_name = FileSlotName(i, columns * rows)
                    #$ file_time = FileTime(i, empty=_("Empty Slot."))
                    #$ save_name = FileSaveName(i)

                    #text "[file_name]. [file_time!t]\n[save_name!t]"

                    key "save_delete" action FileDelete(i)


screen save:

    # Это заменяет другие меню.
    tag menu

    use navigation
    use file_picker

screen load:

    # Это заменяет другие меню.
    tag menu

    use navigation
    use file_picker

init -2 python:
    style.file_picker_frame = Style(style.menu_frame)

    style.file_picker_nav_button = Style(style.small_button)
    style.file_picker_nav_button_text = Style(style.small_button_text)

    style.file_picker_button = Style(style.large_button)
    style.file_picker_text = Style(style.large_button_text)




##############################################################################
# Preferences
#
# Экран, позволяющий пользователю изменять настройки.
# http://www.renpy.org/doc/html/screen_special.html#prefereces

screen prefs:

    tag menu

    add "mmenu/prefs.png"
    
    imagebutton auto "mmenu/low_%s.png" focus_mask True action Preference("text speed", 25)  
    imagebutton auto "mmenu/med_%s.png" focus_mask True action Preference("text speed", 40)
    imagebutton auto "mmenu/fast_%s.png" focus_mask True action Preference("text speed", 60)
    
    
    
    bar xpos 1016 ypos 820 xmaximum 300 ymaximum 28 idle_left_bar "mmenu/bar.png" hover_left_bar "mmenu/bar.png" idle_right_bar "mmenu/bar.png" hover_right_bar "mmenu/bar.png" idle_thumb "mmenu/bar_thumb_idle.png" hover_thumb "mmenu/bar_thumb_hover.png" thumb_shadow None value Preference ("music volume")
    bar xpos 1016 ypos 892 xmaximum 300 ymaximum 28 idle_left_bar "mmenu/bar.png" hover_left_bar "mmenu/bar.png" idle_right_bar "mmenu/bar.png" hover_right_bar "mmenu/bar.png" idle_thumb "mmenu/bar_thumb_idle.png" hover_thumb "mmenu/bar_thumb_hover.png" thumb_shadow None value Preference ("sound volume")
    imagebutton auto "mmenu/return_%s.png" focus_mask True action ShowMenu("navigation")
init -2 python:
    style.pref_frame.xfill = True
    style.pref_frame.xmargin = 5
    style.pref_frame.top_margin = 5

    style.pref_vbox.xfill = True

    style.pref_button.size_group = "pref"
    style.pref_button.xalign = 1.0

    style.pref_slider.xmaximum = 192
    style.pref_slider.xalign = 1.0

    style.soundtest_button.xalign = 1.0


##############################################################################
# Yes/No Prompt
#
# Экран, спрашивающий у пользователя вопрос да/нет.
# http://www.renpy.org/doc/html/screen_special.html#yesno-prompt

screen yesno_prompt:

    modal True

    imagemap:
        ground 'mmenu/yesno.png'
        
        imagebutton auto "mmenu/yes_%s.png" focus_mask True action yes_action hovered Play ("sound", "hover.ogg")
        imagebutton auto "mmenu/no_%s.png" focus_mask True action no_action hovered Play ("sound", "hover.ogg")

    if message == layout.ARE_YOU_SURE:
        add "menu/yesno.png"
        
    

init -2 python:
    style.yesno_button.size_group = "yesno"
    style.yesno_label_text.text_align = 0.5
    style.yesno_label_text.layout = "subtitle"

init -2 python:
    style.quick_button.set_parent('default')
    style.quick_button.background = None
    style.quick_button.xpadding = 5

    style.quick_button_text.set_parent('default')
    style.quick_button_text.size = 12
    style.quick_button_text.idle_color = "#8888"
    style.quick_button_text.hover_color = "#ccc"
    style.quick_button_text.selected_idle_color = "#cc08"
    style.quick_button_text.selected_hover_color = "#cc0"
    style.quick_button_text.insensitive_color = "#4448"
