using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; [ExecuteAlways] public class ObjectiveText : MonoBehaviour { [SerializeField] public List visualObjects; [SerializeField] private Color inCompleteColor = Color.white; [SerializeField] private Color completeColor = Color.yellow; [SerializeField] private float speed; [SerializeField] private Animator animator; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { foreach(VisualObjectiveItemGUI item in visualObjects) { if (item.isComplete){ item.icon.color = Color.Lerp(item.icon.color, completeColor, Time.deltaTime*speed); } else { item.icon.color = Color.Lerp(item.icon.color,inCompleteColor, Time.deltaTime*speed); } } } public void FadeOut() { animator.Play("FadeOut"); } public void FadeIn() { animator.Play("FadeIn"); } } [System.Serializable] public class VisualObjectiveItemGUI { public TMP_Text text; public Image icon; public bool isComplete = false; }