Подробные изменения: - Добавлена система призовых уровней и выдачи призов с QR-контуром Telegram, шаблоном сообщения и генерацией QR без внешних библиотек. - Доработаны сервисные настройки: действия кнопок, модальные окна, ввод с джойстика/клавиатуры, статистика, настройки призов и маршрутизация QR. - Переработаны gameplay HUD и overlay-панели на UI Toolkit со спрайтовыми плашками, DEV BUILD-статистикой, экраном продолжения и экраном результата приза. - Исправлены сценарии смерти, GameOver, продолжения игры, начисления очков за высоту и перехода в главное меню. - Перенесены UI-шаблоны из Resources в Assets/UI, подключена Addressables-загрузка шаблонов настроек и standalone-стили для MainMenuModals. - Добавлены EditMode/PlayMode тесты для призов, QR, arcade input, UI-модалок, scene flow, HUD и gameplay-сессии. - Обновлены сцены, настройки Addressables, service settings database, документация и дорожная карта. Проверки: - Targeted EditMode QR/UI/settings: 23/23 passed - Targeted UI templates/EditMode: 17/17 passed - MainMenuUxmlTests: 3/3 passed - Full EditMode: 129/129 passed - PlayMode: 6/6 passed - Runtime Addressables template load check: loaded=5 - Unity Console после финального refresh: 0 errors
84 lines
14 KiB
Plaintext
84 lines
14 KiB
Plaintext
<ui:UXML xmlns:ui="UnityEngine.UIElements" editor-extension-mode="False">
|
||
<Style src="../MainMenu.uss"/>
|
||
<ui:VisualElement name="ModalLayer" class="modal-layer" style="opacity: 1; display: none;">
|
||
<ui:VisualElement name="ModalBackdrop" class="modal-backdrop"/>
|
||
<ui:VisualElement name="RulesModal" class="modal-window rules-modal fullscreen-modal" style="display: flex; justify-content: space-between;">
|
||
<ui:Label text="ПРАВИЛА" name="Header" class="modal-title" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold"); -unity-font-style: normal;"/>
|
||
<ui:Label text="Прыгай всё выше по платформам и не падай ниже камеры. Используй пружины и бонусы, чтобы подняться выше и добраться до суперприза. Чем выше забег, тем сложнее этапы и тем ценнее результат." name="Content" class="modal-text" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:VisualElement class="modal-actions">
|
||
<ui:Button name="RulesModalCloseButton" text="ПОНЯТНО" class="modal-button" style="width: 400px; height: 100px; -unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold"); font-size: 28px; -unity-slice-scale: 0.5px;"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement name="SettingsModal" class="modal-window settings-modal fullscreen-modal" style="display: flex;">
|
||
<ui:Label text="Настройки" class="modal-title settings-title" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:VisualElement name="SettingsContent" class="settings-content">
|
||
<ui:ScrollView name="SettingsList" class="settings-list"/>
|
||
<ui:VisualElement name="SettingsDetails" class="settings-details" style="border-top-width: 0; border-top-color: rgb(0, 0, 0);">
|
||
<ui:Label name="SettingsGroupTitleLabel" text="Группа" class="settings-current-group" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold"); font-size: 48px;"/>
|
||
<ui:Label name="SettingsStatusLabel" text="Загрузка сервисных настроек..." class="settings-status" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular"); font-size: 24px;"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement name="ButtonsGroup" class="modal-actions settings-actions" style="position: relative; right: auto; bottom: 2%; top: auto;">
|
||
<ui:Button name="SettingsSaveButton" text="СОХРАНИТЬ" class="modal-button settings-save-button" style="-unity-slice-scale: 0.5px; -unity-slice-type: sliced; -unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold"); font-size: 28px; height: 100px; width: 400px;"/>
|
||
<ui:Button name="SettingsReloadButton" text="ОБНОВИТЬ" class="modal-button settings-secondary-button"/>
|
||
<ui:Button name="SettingsResetButton" text="СБРОС" class="modal-button settings-secondary-button"/>
|
||
<ui:Button name="SettingsCloseButton" text="ЗАКРЫТЬ" class="modal-button settings-secondary-button"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement name="ServiceInfoModal" class="modal-window service-info-modal fullscreen-modal" style="display: none;">
|
||
<ui:Label name="ServiceInfoTitle" text="Служебное окно" class="modal-title service-info-title" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Label name="ServiceInfoFocus" text="" class="service-info-focus" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:Label name="ServiceInfoContent" text="Данные пока недоступны." class="modal-text service-info-content" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:VisualElement class="modal-actions service-info-actions">
|
||
<ui:Button name="ServiceInfoCloseButton" text="ЗАКРЫТЬ" class="modal-button" style="width: 400px; height: 100px; -unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold"); font-size: 28px; -unity-slice-scale: 0.5px;"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement name="ServiceTextInputModal" class="modal-window service-text-input-modal fullscreen-modal" style="display: none;">
|
||
<ui:Label name="ServiceTextInputTitle" text="Ввод значения" class="modal-title service-text-input-title" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Label name="ServiceTextInputSetting" text="" class="service-text-input-setting" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:Label name="ServiceTextInputPreview" text="" class="service-text-input-preview" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:VisualElement name="ServiceTextInputSlots" class="service-text-input-slots"/>
|
||
<ui:Label name="ServiceTextInputSymbol" text="" class="service-text-input-symbol" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Label name="ServiceTextInputStatus" text="" class="service-text-input-status" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:VisualElement class="modal-actions service-text-input-actions">
|
||
<ui:Button name="ServiceTextInputConfirmButton" text="OK" class="modal-button service-text-input-action-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Button name="ServiceTextInputDeleteButton" text="УДАЛИТЬ" class="modal-button service-text-input-action-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Button name="ServiceTextInputCancelButton" text="ОТМЕНА" class="modal-button service-text-input-action-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement name="PrizeLevelsModal" class="modal-window prize-levels-modal fullscreen-modal" style="display: none;">
|
||
<ui:Label name="PrizeLevelsTitle" text="Призы за очки" class="modal-title prize-levels-title" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:VisualElement class="prize-levels-card">
|
||
<ui:ScrollView name="PrizeLevelsList" class="prize-levels-list"/>
|
||
<ui:Label name="PrizeLevelsStatus" text="Загрузка призовых уровней..." class="prize-levels-status" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement class="modal-actions prize-levels-actions">
|
||
<ui:Button name="PrizeLevelsAddButton" text="ДОБАВИТЬ" class="modal-button prize-levels-add-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Button name="PrizeLevelsCloseButton" text="ЗАКРЫТЬ" class="modal-button prize-levels-close-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement name="PrizeLevelAddModal" class="modal-window prize-level-add-modal fullscreen-modal" style="display: none;">
|
||
<ui:Label name="PrizeLevelAddTitle" text="Добавить приз" class="modal-title prize-level-add-title" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:VisualElement class="prize-level-add-card">
|
||
<ui:Label text="Очки" class="prize-level-add-caption" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:VisualElement class="prize-level-add-stepper">
|
||
<ui:Button name="PrizeLevelAddScoreMinusButton" text="-" class="modal-button prize-level-step-button"/>
|
||
<ui:Label name="PrizeLevelAddScoreValue" text="100" class="prize-level-add-value" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Button name="PrizeLevelAddScorePlusButton" text="+" class="modal-button prize-level-step-button"/>
|
||
</ui:VisualElement>
|
||
<ui:Label text="Тип приза" class="prize-level-add-caption" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
<ui:VisualElement class="prize-level-add-stepper">
|
||
<ui:Button name="PrizeLevelAddKindPreviousButton" text="<" class="modal-button prize-level-step-button"/>
|
||
<ui:Label name="PrizeLevelAddKindValue" text="QR-код" class="prize-level-add-value prize-level-add-kind-value" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Button name="PrizeLevelAddKindNextButton" text=">" class="modal-button prize-level-step-button"/>
|
||
</ui:VisualElement>
|
||
<ui:Label name="PrizeLevelAddStatus" text="" class="prize-level-add-status" style="-unity-font-definition: url("project://database/Assets/Fonts/BerlinSansFBCyrillic-Regular.ttf?fileID=12800000&guid=a4371daf3f041f94bb8cd180d18cb961&type=3#BerlinSansFBCyrillic-Regular");"/>
|
||
</ui:VisualElement>
|
||
<ui:VisualElement class="modal-actions prize-level-add-actions">
|
||
<ui:Button name="PrizeLevelAddSaveButton" text="СОХРАНИТЬ" class="modal-button prize-level-add-save-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
<ui:Button name="PrizeLevelAddCancelButton" text="ОТМЕНА" class="modal-button prize-level-add-cancel-button" style="-unity-font-definition: url("project://database/Assets/Fonts/RifficFree-Bold.ttf?fileID=12800000&guid=63991fec8a53abe4d9a7907ef7f0db77&type=3#RifficFree-Bold");"/>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
</ui:VisualElement>
|
||
</ui:UXML>
|