using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class ChangeColor : MonoBehaviour, IPointerClickHandler { void OnEnable () { } public void SetRed(float value) { OnValueChanged(value, 0); } public void SetGreen(float value) { OnValueChanged(value, 1); } public void SetBlue(float value) { OnValueChanged(value, 2); } public void OnValueChanged(float value, int channel) { Color c = Color.white; if (GetComponent() != null) c = GetComponent().material.color; else if (GetComponent() != null) c = GetComponent().color; c[channel] = value; if (GetComponent() != null) GetComponent().material.color = c; else if (GetComponent() != null) GetComponent().color = c; } public void OnPointerClick(PointerEventData data) { if (GetComponent() != null) GetComponent().material.color = new Color(Random.value, Random.value, Random.value, 1.0f); else if (GetComponent() != null) GetComponent().color = new Color(Random.value, Random.value, Random.value, 1.0f); } }