# ButtonTransitioner ###### tags: `Script` ### script: ```c# using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class ButtonTransitioner : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler { public static Image[] colorimgs = new Image[11]; public static GameObject showimg, slider1img; public static GameObject[] btns = new GameObject[12]; public static int btn_color = 0; public static Color[] Colorbtns = new Color[11]; public static Slider Sslider1, Sslider2, Sslider3; public static GameObject Gslider1, Wslider1, Tslider1; public static Color HairColor; public static int HairWidth; public static int HairThickness; float H, S, V; private Image m_Image = null; //public GameObject PadB, PadC; public static int HairStyleState = 1; private void Awake() { m_Image = GetComponent<Image>(); btns[0] = GameObject.FindGameObjectWithTag("button0"); btns[1] = GameObject.FindGameObjectWithTag("button1"); btns[2] = GameObject.FindGameObjectWithTag("button2"); btns[3] = GameObject.FindGameObjectWithTag("button3"); btns[4] = GameObject.FindGameObjectWithTag("button4"); btns[5] = GameObject.FindGameObjectWithTag("button5"); btns[6] = GameObject.FindGameObjectWithTag("button6"); btns[7] = GameObject.FindGameObjectWithTag("button7"); btns[8] = GameObject.FindGameObjectWithTag("button8"); btns[9] = GameObject.FindGameObjectWithTag("button9"); btns[10] = GameObject.FindGameObjectWithTag("button10"); btns[11] = GameObject.FindGameObjectWithTag("button11"); Colorbtns[0] = Color.HSVToRGB(34 / 360.0f, 39 / 100.0f, 87 / 100.0f); Colorbtns[1] = Color.HSVToRGB(60 / 360.0f, 21 / 100.0f, 1); Colorbtns[2] = Color.HSVToRGB(319 / 360.0f, 13 / 100.0f, 99 / 100.0f); Colorbtns[3] = Color.HSVToRGB(0, 0, 0); Colorbtns[4] = Color.HSVToRGB(0, 0f, 68 / 100.0f); Colorbtns[5] = Color.HSVToRGB(25 / 360.0f, 43 / 100.0f, 99 / 100.0f); Colorbtns[6] = Color.HSVToRGB(194 / 360.0f, 29 / 100.0f, 1); Colorbtns[7] = Color.HSVToRGB(296 / 360.0f, 27 / 100.0f, 1); Colorbtns[8] = Color.HSVToRGB(0, 0, 1); Colorbtns[9] = Color.HSVToRGB(78 / 360.0f, 1, 84 / 100.0f); Colorbtns[10] = Color.HSVToRGB(0, 49 / 100.0f, 77 / 100.0f); showimg = GameObject.FindGameObjectWithTag("showimage"); slider1img = GameObject.FindGameObjectWithTag("slider1img"); Gslider1 = GameObject.FindGameObjectWithTag("Gslider1"); Wslider1 = GameObject.FindGameObjectWithTag("Wslider1"); Tslider1 = GameObject.FindGameObjectWithTag("Tslider1"); ; //PadB = GameObject.Find("Player/SteamVRObjects/LeftHand/PadB"); //PadC = GameObject.Find("Player/SteamVRObjects/LeftHand/PadC"); HairColor = Colorbtns[0]; } void Start() { for (int i = 0; i < 11; i++) { //btns[i].AddComponent<Image>(); colorimgs[i] = btns[i].GetComponent<Image>(); colorimgs[i].GetComponent<Image>().color = Colorbtns[i]; } showimg.GetComponent<Image>(); slider1img.GetComponent<Image>(); Sslider1 = Gslider1.GetComponent<Slider>(); Sslider2 = Wslider1.GetComponent<Slider>(); Sslider3 = Tslider1.GetComponent<Slider>(); } public void Update() { HairColor = showimg.GetComponent<Image>().color; SliderW(); SliderT(); } public void OnPointerEnter(PointerEventData eventData) { } public void OnPointerExit(PointerEventData eventData) { } public void OnPointerDown(PointerEventData eventData) { FindTag(); Slider1(); SliderW(); SliderT(); } public void OnPointerUp(PointerEventData eventData) { } public void OnPointerClick(PointerEventData eventData) { FindTag(); Slider1(); SliderW(); SliderT(); } public void Slider1() { Color.RGBToHSV(showimg.GetComponent<Image>().color, out H, out S, out V); Sslider2.value = S * 100.0f; Sslider2.onValueChanged.AddListener(delegate { ValueChangeCheck0(); }); } public void SliderW() { HairWidth = (int)Sslider2.value; } public void SliderT() { HairThickness = (int)Sslider3.value; } public void ValueChangeCheck0() { showimg.GetComponent<Image>().color = Color.HSVToRGB(H, Sslider1.value / 100f, V); HairColor = showimg.GetComponent<Image>().color; } public void FindTag() { if (gameObject.tag == "button0") { btn_color = 0; showimg.GetComponent<Image>().color = Colorbtns[0]; } else if (gameObject.tag == "button1") { btn_color = 1; showimg.GetComponent<Image>().color = Colorbtns[1]; } else if (gameObject.tag == "button2") { btn_color = 2; showimg.GetComponent<Image>().color = Colorbtns[2]; } else if (gameObject.tag == "button3") { btn_color = 3; showimg.GetComponent<Image>().color = Colorbtns[3]; } else if (gameObject.tag == "button4") { btn_color = 4; showimg.GetComponent<Image>().color = Colorbtns[4]; } else if (gameObject.tag == "button5") { btn_color = 5; showimg.GetComponent<Image>().color = Colorbtns[5]; } else if (gameObject.tag == "button6") { btn_color = 6; showimg.GetComponent<Image>().color = Colorbtns[6]; } else if (gameObject.tag == "button7") { btn_color = 7; showimg.GetComponent<Image>().color = Colorbtns[7]; } else if (gameObject.tag == "button8") { btn_color = 8; showimg.GetComponent<Image>().color = Colorbtns[8]; } else if (gameObject.tag == "button9") { btn_color = 9; showimg.GetComponent<Image>().color = Colorbtns[9]; } else if (gameObject.tag == "button10") { btn_color = 10; showimg.GetComponent<Image>().color = Colorbtns[10]; } else if (gameObject.tag == "button11") { //btn_color = 11; CallerPad.PadBShow(); //PadB.SetActive(true); //PadC.SetActive(false); } //=====choose else if (gameObject.tag == "Straight_HairStyle") { HairStyleState = 1; } else if (gameObject.tag == "WaveHairStyle") { HairStyleState = 2; } else if (gameObject.tag == "TwistHairStyle") { HairStyleState = 3; } //=====lower else if (gameObject.tag == "UndoButton") { CreateHair.Undo(); } else if (gameObject.tag == "SaveButton") { } else if (gameObject.tag == "RedoButton") { CreateHair.Redo(); } } }