/// <summary> /// Add a slider with text box to this Screen Effects subcategory. /// </summary> /// <param name="text">Label text</param> /// <param name="setter">Method to be called when the slider or text box changes value</param> /// <param name="initialValue">Initial value of the slider and text box</param> /// <param name="sliderMinimum">Minimum value the slider can slide. Can be overriden by the user typing in to the text box if EnforceSliderMinimum is set to false.</param> /// <param name="sliderMaximum">Maximum value the slider can slide. Can be overriden by the user typing in to the text box if EnforceSliderMaximum is set to false.</param> /// <returns>Instance of the SliderSet</returns> public SceneEffectsSliderSet AddSliderSet(string text, System.Action <float> setter, float initialValue, float sliderMinimum, float sliderMaximum) { var containingElement = new GameObject().AddComponent <RectTransform>(); containingElement.name = text; containingElement.SetParent(Content.transform, false); KoikatuAPI.Instance.StartCoroutine(SetPosDelayed(containingElement.transform, GetCurrentOffset())); var label = Object.Instantiate(_labelSource).GetComponent <TextMeshProUGUI>(); label.transform.SetParent(containingElement.transform, false); label.transform.localPosition = new Vector3(4f, 0, 0f); var slider = Object.Instantiate(_sliderSource).GetComponent <Slider>(); slider.transform.SetParent(containingElement.transform, false); slider.transform.localPosition = new Vector3(160f, 0f, 0f); var input = Object.Instantiate(_inputSource).GetComponent <InputField>(); input.transform.SetParent(containingElement.transform, false); input.transform.localPosition = new Vector3(295f, -10f, 0f); var button = Object.Instantiate(_buttonSource).GetComponent <Button>(); button.transform.SetParent(containingElement.transform, false); button.transform.localPosition = new Vector3(340f, 0f, 0f); var sliderSet = new SceneEffectsSliderSet(label, slider, input, button, text, setter, initialValue, sliderMinimum, sliderMaximum); Sliders.Add(sliderSet); return(sliderSet); }
/// <summary> /// Add a slider with text box to this Screen Effects subcategory. /// </summary> /// <param name="text">Label text</param> /// <param name="setter">Method to be called when the slider or text box changes value</param> /// <param name="initialValue">Initial value of the slider and text box</param> /// <param name="sliderMinimum">Minimum value the slider can slide. Can be overriden by the user typing in to the text box if EnforceSliderMinimum is set to false.</param> /// <param name="sliderMaximum">Maximum value the slider can slide. Can be overriden by the user typing in to the text box if EnforceSliderMaximum is set to false.</param> /// <returns>Instance of the SliderSet</returns> public SceneEffectsSliderSet AddSliderSet(string text, System.Action <float> setter, float initialValue, float sliderMinimum, float sliderMaximum) { var labelSource = GameObject.Find(LabelSourcePath); var sliderSource = GameObject.Find(SliderSourcePath); var inputSource = GameObject.Find(InputSourcePath); var buttonSource = GameObject.Find(ButtonSourcePath); var containingElement = new GameObject().AddComponent <RectTransform>(); containingElement.name = text; containingElement.SetParent(Content.transform); containingElement.transform.localScale = new Vector3(1f, 1f, 1f); containingElement.transform.localPosition = new Vector3(0f, Offset, 0f); var label = Object.Instantiate(labelSource).GetComponent <TextMeshProUGUI>(); label.transform.SetParent(containingElement.transform); label.transform.localScale = new Vector3(1f, 1f, 1f); label.transform.localPosition = new Vector3(4f, 0, 0f); var slider = Object.Instantiate(sliderSource).GetComponent <Slider>(); slider.transform.SetParent(containingElement.transform); slider.transform.localScale = new Vector3(1f, 1f, 1f); slider.transform.localPosition = new Vector3(160f, 0f, 0f); var input = Object.Instantiate(inputSource).GetComponent <InputField>(); input.transform.SetParent(containingElement.transform); input.transform.localScale = new Vector3(1f, 1f, 1f); input.transform.localPosition = new Vector3(295f, -10f, 0f); var button = Object.Instantiate(buttonSource).GetComponent <Button>(); button.transform.SetParent(containingElement.transform); button.transform.localScale = new Vector3(1f, 1f, 1f); button.transform.localPosition = new Vector3(340f, 0f, 0f); var sliderSet = new SceneEffectsSliderSet(label, slider, input, button, text, setter, initialValue, sliderMinimum, sliderMaximum); Sliders.Add(sliderSet); return(sliderSet); }