public override void Awake()
        {
            base.Awake();

            _carousel = GetComponentInChildren <UICarousel>();
            _carousel.onValueChanged += OnValueChanged;

            var fieldInfo    = CurrentOptions.GetType().GetField(targetOption);
            var defaultValue = fieldInfo.GetValue(CurrentOptions);
            var allValues    = System.Enum.GetNames(fieldInfo.FieldType).ToList();

            _carousel.SetOptions(allValues);
            _carousel.SetCurrentText(defaultValue.ToString());
        }
        // Start is called before the first frame update
        void Awake()
        {
            pages.ForEach(page => page.SetActive(false));
            pages.FirstOrDefault()?.SetActive(true);

            _carousel = GetComponent <UICarousel>();

            var options = pages.Select((page, idx) => $"Page {idx + 1}").ToList();

            _carousel.SetOptions(options);

            _carousel.onValueChanged += newPage =>
            {
                pages.ForEach(page => page.SetActive(false));
                pages.Where((page, idx) => newPage == $"Page {idx + 1}")
                .FirstOrDefault()?.SetActive(true);
            };
        }