55 lines
1.3 KiB
C#
55 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
namespace UI
|
|
{
|
|
[ExecuteAlways]
|
|
public class ObjectiveText : MonoBehaviour
|
|
{
|
|
[SerializeField] public List<VisualObjectiveItemGUI> 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
|
|
private void Start()
|
|
{
|
|
}
|
|
|
|
// Update is called once per frame
|
|
private void Update()
|
|
{
|
|
foreach (var 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");
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public class VisualObjectiveItemGUI
|
|
{
|
|
public TMP_Text text;
|
|
public Image icon;
|
|
public bool isComplete;
|
|
}
|
|
}
|