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 --- .../Scripts/Util/G_Intstring.cs | 131 +++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Util/G_Intstring.cs (limited to 'Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Util/G_Intstring.cs') diff --git a/Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Util/G_Intstring.cs b/Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Util/G_Intstring.cs new file mode 100644 index 0000000..e1c7041 --- /dev/null +++ b/Assets/Thirdparty/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Util/G_Intstring.cs @@ -0,0 +1,131 @@ +/* --------------------------------------- + * Author: Started by David Mkrtchyan, modified by Martin Pane (martintayx@gmail.com) (@tayx94) + * Collaborators: Lars Aalbertsen (@Rockylars) + * Project: Graphy - Ultimate Stats Monitor + * Date: 18-May-18 + * Studio: Tayx + * + * This project is released under the MIT license. + * Attribution is not required, but it is always welcomed! + * -------------------------------------*/ + +using UnityEngine; + +namespace Tayx.Graphy.Utils.NumString +{ + public static class G_IntString + { + /* ----- TODO: ---------------------------- + * Try and move the Init to a core method. + * --------------------------------------*/ + + #region Variables -> Private + + /// + /// List of negative ints casted to strings. + /// + private static string[] negativeBuffer = new string[0]; + + /// + /// List of positive ints casted to strings. + /// + private static string[] positiveBuffer = new string[0]; + + #endregion + + #region Properties -> Public + + /// + /// Have the int buffers been initialized? + /// + public static bool Inited + { + get + { + return negativeBuffer.Length > 0 || positiveBuffer.Length > 0; + } + } + + /// + /// The lowest int value of the existing number buffer. + /// + public static int MinValue + { + get + { + return -(negativeBuffer.Length - 1); + } + } + + /// + /// The highest int value of the existing number buffer. + /// + public static int MaxValue + { + get + { + return positiveBuffer.Length - 1; + } + } + + #endregion + + #region Methods -> Public + + /// + /// Initialize the buffers. + /// + /// + /// Lowest negative value allowed. + /// + /// + /// Highest positive value allowed. + /// + public static void Init(int minNegativeValue, int maxPositiveValue) + { + if (minNegativeValue <= 0) + { + int length = Mathf.Abs(minNegativeValue); + negativeBuffer = new string[length]; + for (int i = 0; i < length; i++) + { + negativeBuffer[i] = (-i).ToString(); + } + } + if (maxPositiveValue >= 0) + { + positiveBuffer = new string[maxPositiveValue]; + for (int i = 0; i < maxPositiveValue; i++) + { + positiveBuffer[i] = i.ToString(); + } + } + } + + /// + /// Returns this int as a cached string. + /// + /// + /// The required int. + /// + /// + /// A cached number string. + /// + public static string ToStringNonAlloc(this int value) + { + if (value < 0 && -value < negativeBuffer.Length) + { + return negativeBuffer[-value]; + } + + if (value >= 0 && value < positiveBuffer.Length) + { + return positiveBuffer[value]; + } + + return value.ToString(); + } + + #endregion + } +} -- cgit v1.2.3