Подробные изменения: - Добавлены сцены Bootstrap, MainMenu и Game с текущей вертикальной 9:16 структурой проекта. - Добавлены runtime-скрипты gameplay-архитектуры: DI через Extenject, спавнер платформ, прогрессия этапов, one-way платформы, игрок, камера и оборудование JumpPad. - Добавлены ScriptableObject-этапы сложности, weighted-настройки платформ, оборудования, противников и collectibles. - Добавлены UI Toolkit ресурсы главного меню, preview-материалы, шрифты, спрайты, анимации и игровые prefab-ассеты. - Перенесена и оформлена новая COM-система для работы с аппаратными портами и StreamingAssets. - Обновлены проектные гайды, AGENTS.md, правила Git/Git LFS, .gitignore, Unity Packages и ProjectSettings. - Удалён локальный skill start-required-mcp-servers из репозитория.
Temp Legacy Audit
Этот гайд фиксирует результаты аудита содержимого Assets/Temp/Legacy и описывает, что именно сохранено для последующего реиспользования в Danro Jump.
Что сделано
- проанализирована структура
Assets/Temp/Legacy - выделены подсистемы, совпадающие с целевой продуктовой рамкой проекта
- все не-
metaфайлы сохранены в tracked-временную папкуAssets/Temp/Legacy Assets/Temp/Legacyоставлен внутриAssetsпо проектному решению, но защищён отдельным.asmdefс define constraint, чтобы Unity не компилировала legacy-код раньше времени
Что сохранено
В Assets/Temp/Legacy перенесены все не-meta файлы legacy-архива, включая:
191C#-скрипт21.asset2.prefab1.uxml3.json3.txt1.exe1.md
Это сделано намеренно: на этапе аудита безопаснее сохранить весь исходный материал, который потенциально может пригодиться, чем потерять рабочие куски старой системы.
Главные кандидаты на реиспользование
1. COM и аппаратная интеграция
Наиболее ценный блок для Danro Jump, потому что проект изначально предполагает работу с устройствами через COM.
Ключевые файлы и папки:
Assets/Temp/Legacy/Scripts/ControlsAssets/Temp/Legacy/Scripts/Controls/Inputs/ComSystem/ComSystemManager.csAssets/Temp/Legacy/Scripts/Controls/Inputs/ComSystem/ComHub.csAssets/Temp/Legacy/Scripts/Controls/Inputs/ComSystem/ComDeviceClient.csAssets/Temp/Legacy/Scripts/Controls/Inputs/ComSystem/PrizeStandController.csAssets/Temp/Legacy/Scripts/Controls/ComInputToInputSystemAdapter.csAssets/Temp/Legacy/Scripts/Managers/PaymentManager.cs
Почему это важно:
- логика кредитов и оплаты
- handshake и авторизация устройств
- маршрутизация нескольких устройств по ролям
- интеграция призовой витрины
- адаптация аппаратного ввода к Unity Input System
2. Система призов и призовая витрина
Этот блок почти напрямую соответствует будущим требованиям проекта.
Ключевые файлы и папки:
Assets/Temp/Legacy/Scripts/PrizesAssets/Temp/Legacy/Scripts/Managers/PrizeSystemManager.csAssets/Temp/Legacy/Scripts/UI/QRCodeUIController.csAssets/Temp/Legacy/Scripts/UI/PrizeStandButtonView.csAssets/Temp/Legacy/Scripts/UI/PrizeErrorDisplay.csAssets/Temp/Legacy/Scripts/UI/Modal/PrizeStandModal.csAssets/Temp/Legacy/Scripts/UI/Modal/PrizeStandSettingsModal.csAssets/Temp/Legacy/Scripts/UI/Modal/QRCodeModal.csAssets/Temp/Legacy/Scripts/UI/Modal/QRCodeSettingsModal.cs
Почему это важно:
- выдача призов по типам
- связка уровня с призом
- конфигурация витрины
- сценарии показа и выдачи
QR - UI для управления призами
3. Настройки для обслуживающего персонала
Это второй по ценности блок после COM, потому что проекту нужны сервисные настройки стоимости игры, сложности, призов и режима работы.
Ключевые файлы и папки:
Assets/Temp/Legacy/Scripts/SettingsAssets/Temp/Legacy/Scripts/Settings/Core/SettingsManager.csAssets/Temp/Legacy/Scripts/Settings/Core/SettingsDatabase.csAssets/Temp/Legacy/Scripts/Settings/UI/SettingsUIGenerator.csAssets/Temp/Legacy/Scripts/Settings/UI/TextInputSettingsBinder.csAssets/Temp/Legacy/Scripts/UI/SettingsUI.csAssets/Temp/Legacy/Scripts/UI/AdminStatsWindowUIController.csAssets/Temp/Legacy/Scripts/UI/StatsWindowUIController.cs
Почему это важно:
- централизованная база настроек
- сериализация в
json - флаг
exposedдля внешнего редактирования - генерация UI для настроек
- административные и статистические окна
4. QR-утилиты и сопутствующие вспомогательные системы
Ключевые файлы:
Assets/Temp/Legacy/Scripts/Utilities/QRCodeUtils.csAssets/Temp/Legacy/Scripts/Utilities/PhoneNumberUtils.csAssets/Temp/Legacy/Scripts/Utilities/CompositeLogger.csAssets/Temp/Legacy/Scripts/Utilities/FileLogger.csAssets/Temp/Legacy/Scripts/Utilities/LoggerInitializer.cs
Почему это важно:
- генерация
QR-текстур и ссылок - форматирование номера телефона
- файловое логирование для аркадной/терминальной эксплуатации
- база для сервисной диагностики
5. Вторичный, но потенциально полезный gameplay-reference
Этот код не является первоочередным для переноса, но его стоит сохранить как референс для будущей вертикальной платформенной части проекта.
Примеры:
Assets/Temp/Legacy/Scripts/BehaviourAssets/Temp/Legacy/Scripts/EntitiesAssets/Temp/Legacy/Scripts/AnimationsAssets/Temp/Legacy/Scripts/FXAssets/Temp/Legacy/Scripts/Audio
Почему это не стоит тащить в runtime сразу:
- код тесно связан со старой игрой и её структурой сцен
- много зависимостей на старые
GameManager-паттерны - часть логики лучше перепроектировать под новую архитектуру и новый gameplay loop
Внешние ресурсы
В StreamingAssets есть материалы, связанные с внешним запуском и лицензированием:
Assets/Temp/Legacy/StreamingAssets/RRLauncher.exeAssets/Temp/Legacy/StreamingAssets/RRLauncher.exe.lic.jsonAssets/Temp/Legacy/StreamingAssets/request.req.jsonAssets/Temp/Legacy/StreamingAssets/response.res.jsonAssets/Temp/Legacy/StreamingAssets/README.txt
Это важно как reference для:
- внешнего launcher flow
- лицензирования
- обмена
json-данными с внешним ПО - понимания старого operational pipeline
Почему архив лежит в Assets/Temp/Legacy
Legacy-материалы сохранены в Assets/Temp/Legacy, потому что это временная рабочая зона проекта внутри Unity-иерархии. Чтобы текущая Unity-сборка не получила старые .cs как активные runtime-скрипты, в корне архива лежит DanroJump.LegacyReference.asmdef с define constraint DANRO_JUMP_COMPILE_LEGACY_REFERENCE.
Пока этот define не добавлен в проект, legacy-assembly не должна компилироваться. Это позволяет держать архив внутри Assets, но не смешивать его с текущим runtime-кодом.
Прямой импорт сейчас рискован:
- есть жёсткие связи с
RR.Game2D.*и старой структурой менеджеров - есть зависимости на
TextMeshPro,InputSystem,Cinemachine,QRCoder,System.Drawing - есть
DllImport-зависимость на нативную библиотекуComNative - внешний
RRLauncher.exeсвязан с отдельным licensing flow - часть
.assetи.prefabрассчитана на старую сценовую иерархию
Итог: материалы сохранены как источник миграции, а не как готовый runtime-модуль.
Рекомендованный порядок повторного использования
- Сначала вынести концепции и API из
COM-системы в новыеExtenject-сервисы. - Затем спроектировать новый
Prize-контур, опираясь на legacy-модели и UI flow. - После этого собрать современную сервисную систему настроек для персонала.
- Только потом переносить отдельные UI-элементы и gameplay-reference, если они всё ещё нужны.
Вывод
Assets/Temp/Legacy содержал не мусор, а большой объём потенциально ценных наработок под аппаратную интеграцию, призовую систему, QR-выдачу и сервисный режим.
Чтобы ничего не потерять, полезный legacy-контент сохранён в Assets/Temp/Legacy как временный reference-архив для поэтапной миграции в новый проект. Подключать его к сборке нужно только осознанно и частями.