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; public string overlayId; // Имя overlay для ShowOverlay/HideOverlay } [SerializeField] private List ranges = new List(); private void Awake() { if (Instance == null) Instance = this; else { Destroy(gameObject); return; } } /// /// Возвращает панель и overlayId по id настройки. /// public bool GetPanelInfo(int id, out SettingsPanelBase panel, out string overlayId) { foreach (var range in ranges) { if (id >= range.idMin && id <= range.idMax) { panel = range.panel; overlayId = range.overlayId; return true; } } Debug.LogWarning($"PanelRouter: id {id} не найден"); panel = null; overlayId = null; return false; } }