Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- добавлена новая система призов: PrizeBase, PrizeType, PrizeDatabase, LevelPrizeConfig и реализации для hopper, QR-кода, отсутствия приза и стойки с призом - добавлена конфигурация призов уровней через `prizes.json` и связанная логика загрузки/обработки в менеджерах игры - расширен UI главного меню и настроек уровней: добавлены LevelSettingsModal, LevelPrizeSettingsModal, QRCodeModal и PrizeStandModal - обновлена навигация модальных окон и связанный UI-код: ModalManager, MainMenu, RulesModal, PauseMenu, PrizeErrorDisplay, UIRowPointer и WinBannerController - доработаны настройки и генерация UI-элементов: обновлены SettingsDatabase, SettingsUIGenerator, SettingUIItem, ValueSelectorRow и editor drawer для настроек - обновлены и добавлены UI-prefab'ы для кнопок, строк настроек, панели групп и кнопки настроек уровня - обновлены сцены `MainMenu` и `Level UI` под новый флоу настройки уровней, выбора призов и отображения модалок - добавлены файлы лаунчера в `StreamingAssets`, включая `RRLauncher.exe`, служебные meta-файлы и документацию - улучшено логирование через FileLogger и удален устаревший код лицензирования - удалены больше неиспользуемые файлы: `Licensing.cs`, `SteppedSlider.cs` и recovery-сцены
45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace RR.Common.Prizes
|
|
{
|
|
/// <summary>
|
|
/// Конфигурация приза для одного уровня.
|
|
/// Сериализуется в JSON через <see cref="PrizeDatabase"/>.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class LevelPrizeConfig
|
|
{
|
|
public PrizeType type = PrizeType.None;
|
|
|
|
// ── Хоппер ──
|
|
public int hopperCapsuleCount = 1;
|
|
public float hopperDelayBetweenCapsules = 1f;
|
|
|
|
// ── Витрина ──
|
|
public int prizeStandBoxCount = 6;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Запись «уровень → приз» для JSON-сериализации.
|
|
/// JsonUtility не поддерживает Dictionary, поэтому используем список.
|
|
/// </summary>
|
|
[Serializable]
|
|
internal class PrizeLevelEntry
|
|
{
|
|
public string level;
|
|
public LevelPrizeConfig config = new();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Корневая структура файла prizes.json.
|
|
/// </summary>
|
|
[Serializable]
|
|
internal class PrizesFileData
|
|
{
|
|
public List<PrizeLevelEntry> levels = new();
|
|
}
|
|
}
|
|
|