
Stalker UI Creator
Версия: 3.0
Назначение: Сталкер ТЧ/ЧН/ЗП
Автор: Stalk15
Тестеры: Comador, Viнt@rь
Требования: NET framework 3.5

Краткое описание: 
Программа, упрощающая создание скриптовых окон. С её помощью можно быстро и наглядно создавать скриптовые окна, при этом код самому писать не нужно. Программа сама генерирует скрипт и файл-описатель элементов(xml). Остается лишь положить сгенерированные файлы в игру и вызвать запуск меню.

Подробное описание: 
Программа будет полезна как новичкам, так и опытным модмейкерам. Новички, пользуясь программой, могут создать свое окно и при этом им не нужно знать все возможности пользовательского интерфейса в Сталкере и копаться в ресурсах игры в поисках примеров. Все это есть в программе. Опытным модмейкерам программа значительно ускорит создание окна.

Возможности программы:
 - Добавление элементов(кнопки, текст. поля и т.д) одним кликом мыши.
 - Визуальное редактирование расположения, размеров и свойств элементов на экране.
 - Автоматическое создание скрипта и файла-описателя элементов(xml) в соответствии с добавленными элементами.
 - Генерация функций открытия и закрытия созданного окна, функций, обрабатывающих события элементов(например, нажатие кнопки), функций получения и установки параметров элементов.
 - Во многих сгенерированных функциях присутствуют комментарии для лучшей ориентации по скрипту.
 - Что бы долго не искать нужную текстуру в списке, программа создает второй список, где предлагаются наиболее подходящие текстуры для определенного элемента.
Список доступных элементов: Button, Static, List, EditBox, CheckBox, TabControl, Frame, FrameLine, SpinNum, TrackBar, RadioGroup, ComboBox, ProgressBar. Описание и назначение элементов смотрите в разделе "инструкция".

В программе присутствуют конфигурации создаваемых проектов. От выбранной конфигурации зависит набор текстур, используемых в проекте и некоторые другие параметры.
Изначально в программе три стандыртных конфигурации - Тень Чернобыля, Чистое Небо и Зов Припяти. Если Вы создаете скриптовое окно для вашего мода, в котором присутствуют новые текстуры(текстуры кнопок, например), то следует создать новую конфигурацию, что бы задействовать в проекте новые текстуры.


Инструкция:
1. Размещение элементов.
Что бы добавить новый элемент, нужно в левой колонке выбрать имя элемента(button, Static ...) и кликнуть туда, куда хотите добавить элемент. С левой стороны отображаются свойства выделенного элемента, а ниже панель с описанием, за что отвечает выделенное свойство. 
Для того, что бы изменить одно свойство сразу нескольким элементам, удерживая клавишу "Ctrl", выделите нужные элементы. Теперь при изменении свойства оно будет менятся у всех выделенных элементах.
Для удаления элемента нужно кликнуть правой мышью по элементу и нажать "удалить".

2. Описание и назначение элементов
Текстуры на некоторых элементах состоят из нескольких частей. Например, если текстовому полю назначить текстуру с именем ui_linetext_d, то текстура на элементе сложится из следующих текстур: ui_linetext_d_b(левая граница), ui_linetext_d_back(середина(основная)), ui_linetext_d_e(правая граница). Выбирая текстуру, обращайте на это внимание.

Button - Кнопка. При нажатии возникает событие. Кнопка имеет 4 текстуры и 4 состояния. Каждая текстура соответствует своему состоянию кнопки. Возможные состояния: 1 - обычное, 2 - курсор наведен на кнопку, 3 - кнопка нажата, 4 - кнопка недоступна(отключена).
Static - Статический элемент(текст, изображение, видео).
List - Список, их которого пользователь может выбрать элементы.
EditBox - Текстовое поле. 
CheckBox - Позволяет пользователю включить/отключить соответствующий параметр.
TabControl - Коллекция вкладок, содержащих элементы.
Frame - Рамка. Имеет текстуру, сложенную из 8 или 9 текстур(левый верхний угол, верхняя часть, правый верхний угол, правая часть и так далее по кругу). Наличие средней текстуры не обязательно.
FrameLine - Представляет собой вертикальную или горизонтальную полосу. Также, как и EditBox имеет текстуру, сложенную из 3 частей, но в отличии от EditBox текстура может накладываться вертикально.
SpinNum - Отображает числовое значие, которое пользователь может увеличить или уменьшить с помощью кнопок "вверх-вниз". Возможности выбора текстуры не имеет.
TrackBar - Позволяет пользователю выбрать диапазон значений с помощью ползунка, движущегося по полосе. Возможности выбора текстуры не имеет.
RadioGroup - Позволяет пользователю выбрать определенный параметр из группы в комбинации с другими флаговыми кнопками. Возможности выбора текстуры не имеет.
ComboBox - Текстовое поле с раскрывающимся списком значений для выбора одного их них. Возможности выбора текстуры не имеет.
ProgressBar - Индикатор изменения какого-либо значения или прогресса в виде полосы.

3. Применение элемента Button
При выборе текстуры для кнопки можно увидеть опцию "Расширенный выбор текстуры". Этой опцией стоит воспользоваться, если Вам нужно самостоятельно назначить текстуру для каждого состояния кнопки. После включения опции "Расширенный выбор текстуры" станут доступны 4 переключателя, которые соответствуют определенному состоянию кнопки: Idle - текстура кнопки в обычном состоянии, MouseEnter - текстура кнопки при наведении курсора на кнопку, MouseClick - текстура кнопки при нажатии мышкой по кнопке, Disabled - текстура кнопки в отключенном состоянии. Что бы выбрать текстуру для определенного состояния кнопки, включите нужный переключатель и кликните два раза по нужной текстуре в списке. Имя выбранной текстуры будет отображаться напротив переключателя. Если для любого из состояний кнопки текстуру не выбрать, то в этом состоянии кнопка будет без текстуры.

4. Применение элемента TabControl
Для добавления новой вкладки нужно кликнуть правой мышью по свободному месту TabControl'а и в появившемся меню нажать "Добавить вкладку". В этом же меню можно сделать TabControl прозрачным/непрозрачным. Прозрачным TabControl стоит делать тогда, когда все элементы размещены и вы не нуждаетесь в видимости границ TabControl'а. Что бы добавить к вкладке элементы, нужно нажатием по вкладке выделить её и кидать элементы на TabControl.

5. Применение элемента ProgressBar
Элемент ProgressBar выглядит красивее, когда на заднем фоне имеется шкала. Это создает эффект заполнения шкалы. Что бы добиться такого эффекта, разместите в проекте элемент Static, назначте ему текстуру со шкалой(например, ui_sega_healph) и поверх шкалы разместите ProgressBar так, что бы он совпадал со шкалой.

6. Создание новой конфигурации.
От выбранной конфигурации зависит набор текстур, используемых в проекте и некоторые другие параметры.
Изначально в программе три стандыртных конфигурации - Тень Чернобыля, Чистое Небо и Зов Припяти. Если Вы создаете скриптовое окно для вашего мода, в котором присутствуют новые текстуры(текстуры кнопок, например), то следует создать новую конфигурацию, что бы задействовать в проекте новые текстуры.
Что бы создать новую конфигурацию, нужно зайти в меню "Инструменты" и выбрать "Настройки". В появившемся окне введите имя новой конфигурации и нажмите "Добавить". Далее укажите путь к папке gamedata и начнется создание конфигурации.

7. Компиляция проекта.
После того, как все нужные элементы размещены, нажмите "Проект -> Построить". Зайдите в папку, куда Вы сохранили проект. Для использования в игре пригодятся два файла - .script и .xml файл.


Если вы нашли ошибку или есть какое-нибудь пожелание, то пишите, программа будет дорабатываться.

