using System.Collections.Generic; using UnityEngine; public class PanelRouter : MonoBehaviour { public static PanelRouter Instance { get; private set; } [System.Serializable] public class PanelRange { public int idMin; public int idMax; public SettingsPanelBase panel; } [SerializeField] private List ranges = new List(); private void Awake() { if (Instance == null) Instance = this; else { Destroy(gameObject); return; } } /// /// Возвращает панель по id (без расчёта варианта). /// public SettingsPanelBase GetPanel(int id) { foreach (var range in ranges) { if (id >= range.idMin && id <= range.idMax) { Debug.Log($"id панели {id} "); return range.panel; } } Debug.Log($"id панели {id} не найден"); return null; } }