Ejemplo n.º 1
0
        public T AddSliderSetting <T>(string name, string hintText, float min, float max, bool intValues) where T : IncDecSettingsController
        {
            var        volumeSettings    = Resources.FindObjectsOfTypeAll <WindowModeSettingsController>().FirstOrDefault();
            GameObject newSettingsObject = MonoBehaviour.Instantiate(volumeSettings.gameObject, transform);

            newSettingsObject.name = name;

            WindowModeSettingsController volume = newSettingsObject.GetComponent <WindowModeSettingsController>();
            T newSliderSettingsController       = (T)ReflectionUtil.CopyComponent(volume, typeof(IncDecSettingsController), typeof(T), newSettingsObject);

            MonoBehaviour.DestroyImmediate(volume);

            GameObject.Destroy(newSettingsObject.transform.Find("Value").Find("DecButton").gameObject);
            GameObject.Destroy(newSettingsObject.transform.Find("Value").Find("ValueText").gameObject);
            GameObject.Destroy(newSettingsObject.transform.Find("Value").Find("IncButton").gameObject);

            HMUI.Scrollbar slider = GameObject.Instantiate(Resources.FindObjectsOfTypeAll <HMUI.Scrollbar>().First(),
                                                           newSettingsObject.transform.Find("Value"), false);
            SliderProperties sliderProperties = slider.gameObject.AddComponent <SliderProperties>();

            sliderProperties.FromValue = min;
            sliderProperties.ToValue   = max;
            sliderProperties.IntValues = intValues;
            slider.GetComponentInChildren <TextMeshProUGUI>().enableWordWrapping = false;
            (slider.transform as RectTransform).sizeDelta = new Vector2(39.5f, 7.5f);
            (slider.transform as RectTransform).anchorMin = new Vector2(0, 0.5f);

            var tmpText = newSettingsObject.GetComponentInChildren <TMP_Text>();

            tmpText.text = name;
            BeatSaberUI.AddHintText(tmpText.rectTransform, hintText);

            return(newSliderSettingsController);
        }
Ejemplo n.º 2
0
        public T AddToggleSetting <T>(string name) where T : SwitchSettingsController
        {
            var        volumeSettings    = Resources.FindObjectsOfTypeAll <WindowModeSettingsController>().FirstOrDefault();
            GameObject newSettingsObject = MonoBehaviour.Instantiate(volumeSettings.gameObject, transform);

            newSettingsObject.name = name;

            WindowModeSettingsController volume = newSettingsObject.GetComponent <WindowModeSettingsController>();
            T newToggleSettingsController       = (T)ReflectionUtil.CopyComponent(volume, typeof(SwitchSettingsController), typeof(T), newSettingsObject);

            MonoBehaviour.DestroyImmediate(volume);

            newSettingsObject.GetComponentInChildren <TMP_Text>().text = name;

            return(newToggleSettingsController);
        }
        public static T AddToggleSetting <T>(RectTransform parent, string name) where T : MonoBehaviour
        {
            var        volumeSettings    = Resources.FindObjectsOfTypeAll <WindowModeSettingsController>().FirstOrDefault();
            GameObject newSettingsObject = UnityEngine.Object.Instantiate(volumeSettings.gameObject, parent);

            newSettingsObject.name = name;

            WindowModeSettingsController volume = newSettingsObject.GetComponent <WindowModeSettingsController>();
            T newToggleSettingsController       = volume.gameObject.AddComponent <T>();

            UnityEngine.Object.DestroyImmediate(volume);

            newSettingsObject.GetComponentInChildren <TMP_Text>().text = name;

            return(newToggleSettingsController);
        }
Ejemplo n.º 4
0
        public T AddIntSetting <T>(string name, string hintText) where T : IntSettingsController
        {
            var        volumeSettings    = Resources.FindObjectsOfTypeAll <WindowModeSettingsController>().FirstOrDefault();
            GameObject newSettingsObject = MonoBehaviour.Instantiate(volumeSettings.gameObject, transform);

            newSettingsObject.name = name;

            WindowModeSettingsController volume = newSettingsObject.GetComponent <WindowModeSettingsController>();
            T newToggleSettingsController       = (T)ReflectionUtil.CopyComponent(volume, typeof(IncDecSettingsController), typeof(T), newSettingsObject);

            MonoBehaviour.DestroyImmediate(volume);

            var tmpText = newSettingsObject.GetComponentInChildren <TMP_Text>();

            tmpText.text = name;
            BeatSaberUI.AddHintText(tmpText.rectTransform, hintText);

            return(newToggleSettingsController);
        }
Ejemplo n.º 5
0
        public T AddColorPickerSetting <T>(string name, string hintText) where T : SimpleSettingsController
        {
            var        volumeSettings    = Resources.FindObjectsOfTypeAll <WindowModeSettingsController>().FirstOrDefault();
            GameObject newSettingsObject = MonoBehaviour.Instantiate(volumeSettings.gameObject, transform);

            newSettingsObject.name = name;

            WindowModeSettingsController volume = newSettingsObject.GetComponent <WindowModeSettingsController>();
            T newColorPickerSettingsController  = (T)ReflectionUtil.CopyComponent(volume, typeof(SimpleSettingsController), typeof(T), newSettingsObject);

            MonoBehaviour.DestroyImmediate(volume);

            GameObject.Destroy(newSettingsObject.transform.Find("Value").Find("DecButton").gameObject);
            GameObject.Destroy(newSettingsObject.transform.Find("Value").Find("ValueText").gameObject);
            GameObject.Destroy(newSettingsObject.transform.Find("Value").Find("IncButton").gameObject);

            ColorPickerPreviewClickable cppc = new GameObject("ColorPickerPreviewClickable").AddComponent <ColorPickerPreviewClickable>();

            cppc.ImagePreview.sprite = null;

            //cppc.transform.localScale = new Vector3(sizeDelta.x, sizeDelta.y, colorPicker.transform.localScale.z);
            cppc.transform.SetParent(newSettingsObject.transform.Find("Value"), false);

            //cppc.transform.localScale = new Vector3(0.2f, 0.15f);
            //(cppc.transform as RectTransform).anchorMin = new Vector2(0, 0.5f);
            //(cppc.transform as RectTransform).anchorMax = new Vector2(0, 0.5f);
            //(cppc.transform as RectTransform).anchoredPosition = new Vector2(-50, 0);
            (cppc.transform as RectTransform).sizeDelta = new Vector2(39.5f, 7f);

            var tmpText = newSettingsObject.GetComponentInChildren <TMP_Text>();

            tmpText.text = name;
            BeatSaberUI.AddHintText(tmpText.rectTransform, hintText);

            return(newColorPickerSettingsController);
        }