using System.Text; using UnityEngine; /// /// Хранилище /// [CreateAssetMenu(fileName = "ConfigCatalog", menuName = "SO_Configs/ConfigCatalog")] public class ConfigCatalog : ScriptableObject { public CountersConfig CountersConfig; public InputConfig InputConfig; public LoggerConfig LoggerConfig; public PeripherialConfig PeripherialConfig; public SceneLoaderConfig SceneLoaderConfig; public SettingsManagerConfig SettingsManagerConfig; public SoundManagerConfig SoundManagerConfig; public WalletManagerConfig WalletManagerConfig; public GameModesConfig GameModesConfig; public (bool OK, string message) ValidateReferences() { var sb = new StringBuilder(); if (CountersConfig == null) sb.AppendLine("Конфиг счетчиков не установлен"); if (InputConfig == null) sb.AppendLine("Конфиг ввода не установлен"); if (LoggerConfig == null) sb.AppendLine("Конфиг логгера не установлен"); if (PeripherialConfig == null) sb.AppendLine("Конфиг периферии не установлен"); if (SceneLoaderConfig == null) sb.AppendLine("Конфиг подгрузчика сцен не установлен"); if (SettingsManagerConfig == null) sb.AppendLine("Конфиг менеджера настроек не установлен"); if (SoundManagerConfig == null) sb.AppendLine("Конфиг звукового менеджера не установлен"); if (WalletManagerConfig == null) sb.AppendLine("Конфиг кошелька не установлен"); if (GameModesConfig== null) sb.AppendLine("Конфиг игровых режимов не установлен"); string result = sb.ToString(); if (result != string.Empty) return (false, result); else return (true, "Все ссылки на конфигурации найдены"); } }