using System.Collections; using System.Collections.Generic; using UnityEngine; using Variables; public class SneakyTextController : MonoBehaviour { [SerializeField] private Reference m_lightLevel; [SerializeField] private Reference m_freezePlayer; [SerializeField] private float m_time = 10; [SerializeField] private TMPro.TextMeshProUGUI m_text; private bool m_hasTriggered = false; private void OnEnable() { m_lightLevel.OnValueChanged += OnLightChange; } private void OnDisable() { m_lightLevel.OnValueChanged -= OnLightChange; } private void Start() { m_text.gameObject.SetActive(false); } private void OnLightChange(float value) { Color color = m_text.color; color.a = 1 - m_lightLevel; m_text.color = color; if (!m_hasTriggered && !m_freezePlayer) { m_hasTriggered = true; StartCoroutine(Timer( m_time)); } } private IEnumerator Timer(float time) { Debug.Log("here"); m_text.gameObject.SetActive(true); yield return new WaitForSeconds(time); m_text.gameObject.SetActive(false); } }