using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// Поставляет описания настроек по ID настройки /// public class SettingDescriptionProvider : MonoBehaviour { public List settingDescriptions; public GameObject defaultDescription; public GameObject GetDescription(string id) { //Проверки заполнения if (settingDescriptions == null) { Debug.LogError("Не заданы описания настроек"); return null; } if (defaultDescription == null) { Debug.LogError("Не задано описание настройки по умолчанию"); return null; } //поиск по id GameObject foundDescription = null; for (int i = 0; i < settingDescriptions.Count; i++) { if (settingDescriptions[i].id == id) { foundDescription = settingDescriptions[i].descriptionPrefab; break; } } //возврат if(foundDescription == null) { Debug.LogError($"Описание настройки с id: {id} не найдено. Возврат дефолтного значения"); return defaultDescription; } return foundDescription; } [Serializable] public class SettingDescription { public string id; public GameObject descriptionPrefab; } }