using System;
using System.Collections.Generic;
using RR.Common.Utility;
namespace RR.Common.Prizes
{
///
/// Конфигурация приза для одного уровня.
/// Сериализуется в JSON через .
///
[Serializable]
public class LevelPrizeConfig
{
public PrizeType type = PrizeType.None;
public QRTier qrTier = QRTier.None;
// ── Хоппер ──
public int hopperCapsuleCount = 1;
public float hopperDelayBetweenCapsules = 1f;
}
///
/// Настройки одной ячейки витрины.
///
[Serializable]
public class PrizeStandBoxConfig
{
public int boxNumber = 1;
public int requiredScore;
}
///
/// Глобальные настройки витрины для всей игры.
///
[Serializable]
public class PrizeStandSettings
{
public List boxes = new();
}
///
/// Запись «уровень → приз» для JSON-сериализации.
/// JsonUtility не поддерживает Dictionary, поэтому используем список.
///
[Serializable]
internal class PrizeLevelEntry
{
public string level;
public LevelPrizeConfig config = new();
}
///
/// Корневая структура файла prizes.json.
///
[Serializable]
internal class PrizesFileData
{
public PrizeStandSettings prizeStandSettings = new();
public List qrCodes = new();
public List levels = new();
}
}