- Добавлен асинхронный процесс аппаратной выдачи физических призов (хоппер и витрина) в GameplayHudController. - Реализована блокировка выдачи по 10-секундному таймауту датчика хоппера с гарантированной отправкой команды отключения двигателя '300'. - Реализован автоматический таймаут неактивности на экране QR-кода с последующим переходом в главное меню. - Расширен сервис статистики PrizeSessionStateService новыми долгосрочными счетчиками (сыгранные игры, очки, монеты, сбои связи COM, физ. выдачи и ошибки). - Обновлен построитель сводки статистики в меню настроек для отображения новых счетчиков и списка последних 5 сессий. - Написаны EditMode тесты для проверки инкремента счетчиков и запуска выдачи призов.
25 lines
813 B
C#
25 lines
813 B
C#
namespace DanroJump.Prizes
|
||
{
|
||
/// <summary>
|
||
/// Результат решения о призе по завершенной игровой сессии.
|
||
/// </summary>
|
||
public readonly struct PrizeFlowResult
|
||
{
|
||
public PrizeFlowResult(PrizeRewardKind rewardKind, int score, int coins, float height, string sessionId = null)
|
||
{
|
||
RewardKind = rewardKind;
|
||
Score = score;
|
||
Coins = coins;
|
||
Height = height;
|
||
SessionId = sessionId ?? string.Empty;
|
||
}
|
||
|
||
public PrizeRewardKind RewardKind { get; }
|
||
public int Score { get; }
|
||
public int Coins { get; }
|
||
public float Height { get; }
|
||
public string SessionId { get; }
|
||
public bool HasPrize => RewardKind != PrizeRewardKind.None;
|
||
}
|
||
}
|