using UnityEngine; using UnityEngine.UI; [DisallowMultipleComponent] public class DeviceLumos : MonoBehaviour { public Color NormalColor = Color.white; public Color TargetColor = Color.red; private float time; private bool LumosReady; private float Interval = 0.5f; private void Awake() { if (GetComponent<Renderer>()) { NormalColor = GetComponent<Renderer>().material.color; TargetColor = Color.red; } else if (GetComponent<Image>()) { NormalColor = GetComponent<Image>().color; TargetColor = Color.green; } } private void LateUpdate() { time += Time.deltaTime; if (time > Interval) { time = 0.0f; LumosReady = !LumosReady; } if (GetComponent<Renderer>()) { if (LumosReady) { GetComponent<Renderer>().material.SetColor("_Color", NormalColor); } else { GetComponent<Renderer>().material.SetColor("_Color", TargetColor); } } else if (GetComponent<Image>()) { if (LumosReady) { GetComponent<Image>().color = NormalColor; } else { GetComponent<Image>().color = TargetColor; } } } private void OnDestroy() { if (GetComponent<Renderer>()) { GetComponent<Renderer>().material.SetColor("_Color", NormalColor); } else if (GetComponent<Image>()) { GetComponent<Image>().color = NormalColor; } } }