diff options
| author | Alee <Alee14498@gmail.com> | 2019-06-09 13:18:33 -0400 |
|---|---|---|
| committer | Alee <Alee14498@gmail.com> | 2019-06-09 13:18:33 -0400 |
| commit | 9ef63b49ccc6636d8c1bb5f1e04a2f22587d5487 (patch) | |
| tree | 208a2e51d7723694fd2b411583fe858e511c3b1a /Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioText.cs | |
| parent | 902b1f4e758d85fe5c30a316acf0366ed6bcb297 (diff) | |
| download | Unicity-9ef63b49ccc6636d8c1bb5f1e04a2f22587d5487.tar.gz Unicity-9ef63b49ccc6636d8c1bb5f1e04a2f22587d5487.tar.bz2 Unicity-9ef63b49ccc6636d8c1bb5f1e04a2f22587d5487.zip | |
Added Graphy
Diffstat (limited to 'Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioText.cs')
| -rw-r--r-- | Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioText.cs | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioText.cs b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioText.cs new file mode 100644 index 0000000..8fd8ac7 --- /dev/null +++ b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Audio/G_AudioText.cs @@ -0,0 +1,103 @@ +/* --------------------------------------- + * Author: Martin Pane (martintayx@gmail.com) (@tayx94) + * Collaborators: Lars Aalbertsen (@Rockylars) + * Project: Graphy - Ultimate Stats Monitor + * Date: 15-Dec-17 + * Studio: Tayx + * + * This project is released under the MIT license. + * Attribution is not required, but it is always welcomed! + * -------------------------------------*/ + +using UnityEngine; +using UnityEngine.UI; +using Tayx.Graphy.Utils.NumString; + +namespace Tayx.Graphy.Audio +{ + public class G_AudioText : MonoBehaviour + { + /* ----- TODO: ---------------------------- + * Add summaries to the variables. + * Add summaries to the functions. + * Check if we should add a "RequireComponent" for "AudioMonitor". + * Improve the FloatString Init to come from the core instead. + * --------------------------------------*/ + + #region Variables -> Serialized Private + + [SerializeField] private Text m_DBText = null; + + #endregion + + #region Variables -> Private + + private GraphyManager m_graphyManager = null; + + private G_AudioMonitor m_audioMonitor = null; + + private int m_updateRate = 4; + + private float m_deltaTimeOffset = 0; + + #endregion + + #region Methods -> Unity Callbacks + + private void Awake() + { + Init(); + } + + private void Update() + { + if (m_audioMonitor.SpectrumDataAvailable) + { + if (m_deltaTimeOffset > 1f / m_updateRate) + { + m_deltaTimeOffset = 0f; + + m_DBText.text = Mathf.Clamp(m_audioMonitor.MaxDB, -80f, 0f).ToStringNonAlloc(); + } + else + { + m_deltaTimeOffset += Time.deltaTime; + } + } + } + + #endregion + + #region Methods -> Public + + public void UpdateParameters() + { + m_updateRate = m_graphyManager.AudioTextUpdateRate; + } + + #endregion + + #region Methods -> Private + + private void Init() + { + //TODO: Replace this with one activated from the core and figure out the min value. + if (!G_FloatString.Inited || G_FloatString.MinValue > -1000f || G_FloatString.MaxValue < 16384f) + { + G_FloatString.Init + ( + minNegativeValue: -1001f, + maxPositiveValue: 16386f + ); + } + + m_graphyManager = transform.root.GetComponentInChildren<GraphyManager>(); + + m_audioMonitor = GetComponent<G_AudioMonitor>(); + + UpdateParameters(); + } + + #endregion + } +}
\ No newline at end of file |
