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(); } }