public static void InitializeThumbCustomShape(this BaseCtrl baseCtrl) { foreach (var ctrl in baseCtrl.Controls) { MaterialSlider ms = ctrl as MaterialSlider; if (ms != null) { GraphicsPath gp2 = new GraphicsPath(); gp2.AddEllipse(new RectangleF((0 + ms.Height) / 2f, (0 + ms.Height) / 2f, 10, 10)); ms.ThumbCustomShape = gp2; } } }
public void Refresh(LineModel lineModel) { _emitEvent = false; _lineModel = lineModel; _titleInputField.inputField.text = lineModel.DisplayName; _layerSlider.slider.value = lineModel.Layer; _emissionSwitch.toggle.isOn = lineModel.IsEmissionEnabled; _brushEmissionSlider.slider.value = lineModel.EmissionIntensity; _brushEmissionColorButton.backgroundColor = lineModel.EmissionColor; _audioPanel.SetActive(lineModel.Shape != Shape.Phyllotaxis); _phyllotaxisPanel.SetActive(lineModel.Shape == Shape.Phyllotaxis); _emissionReactSwitch.toggle.isOn = lineModel.EmissionProperty.IsEmissionReactOnAudio; _emissionThresholdSlider.slider.value = (lineModel.EmissionProperty.EmissionThreshold); _emissionBandBufferSlider.slider.value = (lineModel.EmissionProperty.EmissionBandBuffer); _emissionFrequencyDropdown.currentlySelected = (int)lineModel.EmissionProperty.EmissionFrequencyType; _scaleReactSwitch.toggle.isOn = lineModel.ScaleProperty.IsScaleReactOnAudio; _scaleMultiplierSlider.slider.value = (lineModel.ScaleProperty.ScaleMultiplier); _scaleBandBufferSlider.slider.value = (lineModel.ScaleProperty.ScaleBandBuffer); _brushEmissionSlider.gameObject.SetActive(lineModel.IsEmissionEnabled); _emissionThresholdSlider.gameObject.SetActive(lineModel.EmissionProperty.IsEmissionReactOnAudio); _emissionBandBufferSlider.gameObject.SetActive(lineModel.EmissionProperty.IsEmissionReactOnAudio); _emissionFrequencyDropdown.gameObject.SetActive(lineModel.EmissionProperty.IsEmissionReactOnAudio); _scaleMultiplierSlider.gameObject.SetActive(lineModel.ScaleProperty.IsScaleReactOnAudio); _scaleBandBufferSlider.gameObject.SetActive(lineModel.ScaleProperty.IsScaleReactOnAudio); _scaleThresholdSlider.gameObject.SetActive(lineModel.ScaleProperty.IsScaleReactOnAudio); _scaleFrequencyDropdown.gameObject.SetActive(lineModel.ScaleProperty.IsScaleReactOnAudio); _kochReactSwitch.toggle.isOn = lineModel.KochLineProperty.IsKochEnabled; _kochReactSwitch.gameObject.SetActive(lineModel.Shape != Shape.Line); _startGenerationList.transform.parent.parent.gameObject.SetActive(lineModel.Shape != Shape.Line && lineModel.KochLineProperty.IsKochEnabled); _audioBandLayoutGroup.transform.parent.parent.gameObject.SetActive(lineModel.Shape != Shape.Line && lineModel.KochLineProperty.IsKochEnabled); _trailSwitch.toggle.isOn = _lineModel.KochTrailProperty.IsTrailEnabled; _trailSwitch.gameObject.SetActive(lineModel.Shape != Shape.Line && lineModel.KochLineProperty.IsKochEnabled); _trailsMinMaxParent.gameObject.SetActive(lineModel.Shape != Shape.Line && lineModel.KochLineProperty.IsKochEnabled && lineModel.KochTrailProperty.IsTrailEnabled); _trailMinSpeedSlider.slider.value = (lineModel.KochTrailProperty.TrailSpeedMinMax.x); _trailMaxSpeedSlider.slider.value = (lineModel.KochTrailProperty.TrailSpeedMinMax.y); _trailMinTimeSlider.slider.value = (lineModel.KochTrailProperty.TrailTimeMinMax.x); _trailMaxTimeSlider.slider.value = (lineModel.KochTrailProperty.TrailTimeMinMax.y); _trailMinWidthSlider.slider.value = (lineModel.KochTrailProperty.TrailWidthMinMax.x); _trailMaxWidthSlider.slider.value = (lineModel.KochTrailProperty.TrailWidthMinMax.y); _degreeSlider.slider.value = lineModel.PhyllotaxisProperty.Degree; _scaleSlider.slider.value = lineModel.PhyllotaxisProperty.Scale; _numberStartSlider.slider.value = lineModel.PhyllotaxisProperty.NumberStart; _stepSizeSlider.slider.value = lineModel.PhyllotaxisProperty.StepSize; _maxIterationSlider.slider.value = lineModel.PhyllotaxisProperty.MaxIterations; _useLerpingCheckbox.toggle.isOn = lineModel.PhyllotaxisProperty.UseLerping; _lerpFrequencyDropdown.currentlySelected = (int)lineModel.PhyllotaxisProperty.LerpFrequencyType; _lerpBandSlider.slider.value = lineModel.PhyllotaxisProperty.LerpAudioBand; _speedMinSlider.slider.value = lineModel.PhyllotaxisProperty.SpeedMinMax.x; _speedMaxSlider.slider.value = lineModel.PhyllotaxisProperty.SpeedMinMax.y; _repeatCheckbox.toggle.isOn = lineModel.PhyllotaxisProperty.Repeat; _invertCheckbox.toggle.isOn = lineModel.PhyllotaxisProperty.Invert; _useScaleCheckbox.toggle.isOn = lineModel.PhyllotaxisProperty.UseScaling; _scalePhylloFrequencyDropdown.currentlySelected = (int)lineModel.PhyllotaxisProperty.ScaleFrequencyType; _scaleBandSlider.slider.value = lineModel.PhyllotaxisProperty.ScaleAudioBand; _scaleMinSlider.slider.value = lineModel.PhyllotaxisProperty.ScaleMinMax.x; _scaleMaxSlider.slider.value = lineModel.PhyllotaxisProperty.ScaleMinMax.y; _useScaleCurveCheckbox.toggle.isOn = lineModel.PhyllotaxisProperty.UseScaleCurve; _scaleSpeedSlider.slider.value = lineModel.PhyllotaxisProperty.InterpolationSpeed; _audioBands.Clear(); int audioBandSliderToGenerate = (int)lineModel.Shape + 2; foreach (Transform child in _audioBandLayoutGroup.transform) { Destroy(child.gameObject); } if (lineModel.Shape != Shape.Phyllotaxis) { for (int i = 0; i < audioBandSliderToGenerate; i++) { MaterialSlider slider = Instantiate(_audioBandSlider, _audioBandLayoutGroup.transform, false); slider.leftContentTransform.GetComponentInChildren <Text>().text = i.ToString(); slider.slider.value = (lineModel.KochLineProperty.KochAudioBand[i]); slider.slider.onValueChanged.AddListener(OnAudioBandValueChanged); _audioBands.Add(slider); } } RefreshKochStartGeneration(); _emitEvent = true; UpdateGradient(lineModel.Gradient); LayoutRebuilder.ForceRebuildLayoutImmediate(_verticalLayoutGroup.GetComponent <RectTransform>()); }