From 3af4c218c0e70167db23a6303d2af30aff37d2fe Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Thu, 20 Aug 2020 23:40:50 -0400 Subject: Removed a bunch of stuff; Changes --- .../Customization Scripts/ForceSliderToPowerOf2.cs | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scene/Customization Scripts/ForceSliderToPowerOf2.cs (limited to 'Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scene/Customization Scripts/ForceSliderToPowerOf2.cs') diff --git a/Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scene/Customization Scripts/ForceSliderToPowerOf2.cs b/Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scene/Customization Scripts/ForceSliderToPowerOf2.cs new file mode 100644 index 0000000..17526b6 --- /dev/null +++ b/Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scene/Customization Scripts/ForceSliderToPowerOf2.cs @@ -0,0 +1,85 @@ +/* --------------------------------------- + * Author: Martin Pane (martintayx@gmail.com) (@tayx94) + * Collaborators: Lars Aalbertsen (@Rockylars) + * Project: Graphy - Ultimate Stats Monitor + * Date: 05-Mar-18 + * 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 System.Collections; + +namespace Tayx.Graphy.CustomizationScene +{ + public class ForceSliderToPowerOf2 : MonoBehaviour + { + /* ----- TODO: ---------------------------- + * Check if we can seal this class. + * Add summaries to the variables. + * Add summaries to the functions. + * Check if we can remove "using System.Collections;". + * Check if we could make the "m_powerOf2Values" constant. + * Check if we should add "private" to the Unity Callbacks. + * --------------------------------------*/ + + #region Variables -> Serialized Private + + [SerializeField] private Slider m_slider = null; + + #endregion + + #region Variables -> Private + + private int[] m_powerOf2Values = + { + 128, + 256, + 512, + 1024, + 2048, + 4096, + 8192 + }; + + private Text m_text; + + #endregion + + #region Methods -> Unity Callbacks + + void Start() + { + m_slider.onValueChanged.AddListener(UpdateValue); + } + + #endregion + + #region Methods -> Private + + private void UpdateValue(float value) + { + int closestSpectrumIndex = 0; + int minDistanceToSpectrumValue = 100000; + + //TODO: Put the int cast outside of the loop. + for (int i = 0; i < m_powerOf2Values.Length; i++) + { + int newDistance = Mathf.Abs((int)value - m_powerOf2Values[i]); + if (newDistance < minDistanceToSpectrumValue) + { + minDistanceToSpectrumValue = newDistance; + closestSpectrumIndex = i; + } + } + + m_slider.value = m_powerOf2Values[closestSpectrumIndex]; + } + + #endregion + } +} \ No newline at end of file -- cgit v1.2.3