From 765a5b0f1a6d83cd779fc76373775f1a2dd204c1 Mon Sep 17 00:00:00 2001 From: Danil Iarosh Date: Tue, 10 Mar 2026 12:23:51 +0300 Subject: [PATCH] feat(ui, settings, licensing): expand modal UI flow, add rules pages, and integrate launcher license checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлена проверка лицензии через внешний `RRLauncher.exe` при старте игры. - В `GameManager` встроен асинхронный сценарий проверки лицензии с таймаутом и завершением приложения при неуспешной проверке. - После успешной проверки лицензии добавлена принудительная установка `ExclusiveFullScreen` и разрешения `1920x1080`. - В проект добавлен новый скрипт `Licensing.cs`. - В `GameManager` добавлена низкоуровневая работа с WinAPI для запуска внешнего процесса и ожидания результата. - Добавлено новое модальное окно `RulesModal` с поддержкой многостраничных правил. - В `RulesModal` реализовано переключение страниц через `Input System` по горизонтальной навигации. - Для окна правил добавлены индикатор текущей страницы, форматируемый текст номера страницы и поддержка точек-индикаторов. - В `RulesModal` добавана защита от многократного листания при удержании оси навигации. - В `ModalManager` исправлена работа singleton-инстанса при закрытии приложения и повторном входе в Play Mode. - В `ModalManager` добавлен сброс статических полей через `RuntimeInitializeOnLoadMethod`, чтобы менеджер корректно переживал перезапуск в редакторе. - В базовом `Modal` и связанном UI-потоке внесены доработки для более стабильной работы модальных окон. - В систему настроек добавлена и расширена поддержка `ValueSelectorRow`. - `ValueSelectorRow` переработан так, чтобы работать не только с `int`, но и с `float` значениями. - В `ValueSelectorRow` добавено ускорение изменения значений при последовательном удержании влево/вправо. - В `ValueSelectorRow` добавлен показ процентов для настроек, которые должны отображаться как процентные значения. - В `ValueSelectorRow` улучшено поведение навигации и сброс состояния удержания при потере фокуса и деактивации. - В `SettingsDatabase` добавлены связанные изменения для новых сценариев работы настроек. - В `SettingsUIGenerator` и `SettingUIItem` обновлена генерация UI для новых вариантов отображения и редактирования настроек. - В `SettingEntryDrawer` в редакторской части добавлены изменения для поддержки новых параметров настроек. - Обновлена `MainSettingsDatabase.asset` под новую структуру и параметры настроек. - Обновлены префабы строк настроек: `Row_Button`, `Row_Dropdown`, `Row_Input`, `Row_Slider`, `Row_Toggle`, `Row_ValueSelector`, а также `InputCell` и связанные UI-префабы. - Обновлен `LevelButton.prefab` и связанные элементы интерфейса. - Обновлен `Globals.prefab` с учетом новых или измененных UI/сервисных компонентов. - В `MainMenu.unity` выполнена крупная правка интерфейса: переразложены якоря, размеры, позиционирование элементов и изменены отдельные тексты. - В `MainMenu.unity` активированы и переработаны части UI, ранее отключенные или имевшие другие размеры/якоря. - В `Level UI.unity` внесены изменения в структуру и конфигурацию интерфейса уровня. - Обновлен `UICreditsTextController` для работы с измененным отображением UI или логикой текста. - В `InputSystem_Actions.inputactions` внесены изменения в конфигурацию действий ввода. - В `FileLogger` обновлена логика файлового логирования. - Обновлен `.gitignore`. - Обновлены метаданные и ресурсы, связанные с главным меню, включая `plashka_levels.png.meta`. --- Assets/Scripts/Licensing.cs | 7 +++++++ Assets/Scripts/Licensing.cs.meta | 3 +++ Assets/Scripts/UI/Modal/RulesModal.cs | 0 Assets/Scripts/UI/Modal/RulesModal.cs.meta | 3 +++ Assets/Scripts/UI/SteppedSlider.cs | 0 Assets/Scripts/UI/SteppedSlider.cs.meta | 3 +++ 6 files changed, 16 insertions(+) create mode 100644 Assets/Scripts/Licensing.cs create mode 100644 Assets/Scripts/Licensing.cs.meta create mode 100644 Assets/Scripts/UI/Modal/RulesModal.cs create mode 100644 Assets/Scripts/UI/Modal/RulesModal.cs.meta create mode 100644 Assets/Scripts/UI/SteppedSlider.cs create mode 100644 Assets/Scripts/UI/SteppedSlider.cs.meta diff --git a/Assets/Scripts/Licensing.cs b/Assets/Scripts/Licensing.cs new file mode 100644 index 0000000..5c47c0b --- /dev/null +++ b/Assets/Scripts/Licensing.cs @@ -0,0 +1,7 @@ +namespace DefaultNamespace +{ + public class Licensing + { + + } +} \ No newline at end of file diff --git a/Assets/Scripts/Licensing.cs.meta b/Assets/Scripts/Licensing.cs.meta new file mode 100644 index 0000000..d680092 --- /dev/null +++ b/Assets/Scripts/Licensing.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3cd2c0f3cbe34cc084ad53c2371229be +timeCreated: 1773127780 \ No newline at end of file diff --git a/Assets/Scripts/UI/Modal/RulesModal.cs b/Assets/Scripts/UI/Modal/RulesModal.cs new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Scripts/UI/Modal/RulesModal.cs.meta b/Assets/Scripts/UI/Modal/RulesModal.cs.meta new file mode 100644 index 0000000..5588390 --- /dev/null +++ b/Assets/Scripts/UI/Modal/RulesModal.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1c2e34f053244c268f6f8ab2d50602ca +timeCreated: 1773063193 \ No newline at end of file diff --git a/Assets/Scripts/UI/SteppedSlider.cs b/Assets/Scripts/UI/SteppedSlider.cs new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Scripts/UI/SteppedSlider.cs.meta b/Assets/Scripts/UI/SteppedSlider.cs.meta new file mode 100644 index 0000000..9058b05 --- /dev/null +++ b/Assets/Scripts/UI/SteppedSlider.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5b9d6ed2ec5d4f2ca08ad641d3290cc8 +timeCreated: 1773045871 \ No newline at end of file