Danro-Jump/Assets/Scripts/Runtime/Settings/Keys/ServiceSettingsKeys.cs
Danil Iarosh 839a68aef1 Improve VFX, UI overlays, session statistics, COM reliability, audio mixer, and expand architecture guides
Подробный список изменений:
- Перенесены эффекты частиц из C#-кода в готовые префабы-ассеты (Vfx Prefabs) в папке Assets/Resources/Vfx/ с автоматической генерацией материалов в Editor.
- Исправлены ошибки duration на играющих системах частиц и розовые текстуры в GameVfxService.cs.
- Исправлена навигация и фокус кнопок на оверлеях ContinueGameOverlay и PrizeResultOverlay с автоматическим подсвечиванием кнопок лимонно-зеленым цветом при фокусе и проигрыванием звука.
- Добавлена проверка настроек в GameplayHudController.cs для скрытия ContinueGameOverlay, если продолжение игры отключено.
- Расширен сбор статистики: создана структура GameplaySessionRecord, добавлена история до 50 раундов в PrizeSessionStateService и JsonPrizeSessionStateRepository, выведен расчет средних показателей и список 5 последних раундов в сервисной статистике.
- Повышена надежность COM-транспорта: добавлен sleep (80мс) в Dispose для graceful shutdown потоков, реализован цикл переподключения до 10 попыток при обрыве связи.
- Интегрированы настройки громкости с микшером: изменен шаг изменения громкости на 5% (0.05) для удобства, добавлен статус-чек и логи в ApplyServiceVolumes, расширены юнит-тесты на GetFloat параметры.
- Созданы новые архитектурные гайды по аппаратному COM-транспорту и призовой экономике автомата в папке GUIDES/architecture/.
- Оптимизирован и обновлен RAG-индекс проекта.
2026-07-03 15:04:08 +03:00

55 lines
2.9 KiB
C#

namespace DanroJump.Settings
{
/// <summary>
/// Канонические ключи сервисных настроек проекта.
/// </summary>
public static class ServiceSettingsKeys
{
public const string MusicVolume = "volume.music";
public const string SoundsVolume = "volume.sounds";
public const string FreePlay = "payment.freeGame";
public const string ShowSupportNumber = "payment.showSupportNumber";
public const string SupportNumber = "payment.supportNumber";
public const string PaymentImpulseCost = "payment.paymentImpulseCost";
public const string StartGameCost = "payment.startGameCost";
public const string ContinueGameCost = "payment.continueGameCost";
public const string Currency = "payment.currency";
public const string GamePrice = StartGameCost;
public const string ShowBigPrizeText = "prizes.showBigPrizeText";
public const string GiveSmallPrize = "prizes.giveSmallPrize";
public const string GiveBigPrize = "prizes.giveBigPrize";
public const string ErrorGivePrize = "prizes.errorGivePrize";
public const string ShowPrizeError = "prizes.showPrizeError";
public const string PrizePhoneNumber = "prizes.phoneNumber";
public const string QrMessageTemplate = "prizes.qrMessageTemplate";
public const string QrPrizeTextBronze = "prizes.qrTextBronze";
public const string QrPrizeTextSilver = "prizes.qrTextSilver";
public const string QrPrizeTextGold = "prizes.qrTextGold";
public const string QrPrizeTextSettings = "prizes.qrTextSettings";
public const string BigPrize = "prizes.bigPrize";
public const string PrizeLevels = "prizes.levels";
public const string StartingLives = "gameplay.startLives";
public const string AdditionalLives = "gameplay.additionalLives";
public const string CanContinueGame = "gameplay.canContinueGame";
public const string InactivityTimeout = "gameplay.inactivityTimeout";
public const string GameDifficulty = "gameplay.gameDifficulty";
public const string RequireSettingsPin = "security.requirePin";
public const string SettingsPin = "security.pin";
public const string StatisticsButton = "btn.statistics";
public const string SettingsPinButton = "btn.settingsPin";
public const string PhoneNumberButton = "btn.phoneNumber";
public const string BigPrizeButton = "btn.bigPrize";
public const string SupportNumberButton = "btn.supportNumber";
public const string CurrencyButton = "btn.currency";
public const string HopperTestButton = "btn.hopper_test";
public const string LevelsPrizesButton = "btn.levels_prizes";
public const string QrSettingsButton = "btn.qr_settings";
public const string StandSettingsButton = "btn.stand_settings";
}
}