/// <summary> /// Add a slider with a numerical indicator. /// </summary> void AddSlider(int minValue, int maxValue, int startValue, string title, bool isFloat = false) { MovePosition(8); // Slider var slider = new HorizontalSlider(); slider.Position = new Vector2(x, y); slider.Size = new Vector2(80.0f, 5.0f); slider.DisplayUnits = 20; slider.TotalUnits = (maxValue - minValue) + 20; slider.ScrollIndex = startValue - minValue; slider.BackgroundColor = Color.grey; slider.TintColor = new Color(153, 153, 0); slider.OnScroll += UpdateSliderIndicators; currentPanel.Components.Add(slider); // Indicator var indicator = new TextLabel(); indicator.Position = new Vector2(x + slider.Size.x + 15, y); currentPanel.Components.Add(indicator); var sliderSetup = new SliderSetup() { slider = slider, indicator = indicator, lowerValue = minValue, isFloat = isFloat }; modSliders.Add(sliderSetup); UpdateSliderIndicators(); }
private RectTransform SetupSliders(SliderSetup setup) { GameObject containerGO = Instantiate(sliderContainerPrefab, _content); containerGO.name = setup.label + " Slider"; Text label = containerGO.transform.Find("Label").GetComponent <Text> (); label.text = setup.label; Transform sliderHolder = containerGO.transform.Find("SliderHolder"); AddSlider(setup.targetA, sliderHolder); AddSlider(setup.targetB, sliderHolder); BlendShapeMixer[] mixers = containerGO.GetComponentsInChildren <BlendShapeMixer> (); Slider[] sliders = containerGO.GetComponentsInChildren <Slider> (); return(containerGO.transform as RectTransform); }