示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }