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); }; }