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;
        }
    }
}