Files
XCharts/Scripts/UI/Utility/ChartCached.cs

60 lines
2.0 KiB
C#
Raw Normal View History

2019-07-23 21:43:01 +08:00
using System.Collections.Generic;
using UnityEngine;
namespace XCharts
{
public static class ChartCached
{
private static Dictionary<float, string> s_ValueToF1Str = new Dictionary<float, string>(1000);
private static Dictionary<float, string> s_ValueToF2Str = new Dictionary<float, string>(1000);
private static Dictionary<float, string> s_ValueToStr = new Dictionary<float, string>(1000);
private static Dictionary<int, string> s_IntToStr = new Dictionary<int, string>(1000);
2019-10-14 07:45:56 +08:00
private static Dictionary<Color, string> s_ColorToStr = new Dictionary<Color, string>(1000);
2019-07-23 21:43:01 +08:00
public static string FloatToStr(float value, int f = 0)
{
if (f > 2) f = 2;
2019-07-23 21:43:01 +08:00
Dictionary<float, string> valueDic;
if (f == 1) valueDic = s_ValueToF1Str;
else if (f == 2) valueDic = s_ValueToF2Str;
else valueDic = s_ValueToStr;
if (valueDic.ContainsKey(value))
{
return valueDic[value];
}
else
{
if (f == 1) valueDic[value] = value.ToString("f1");
else if (f == 2) valueDic[value] = value.ToString("f2");
else valueDic[value] = value.ToString();
return valueDic[value];
}
}
public static string IntToStr(int value)
{
if (s_IntToStr.ContainsKey(value))
{
return s_IntToStr[value];
}
else
{
s_IntToStr[value] = value.ToString();
return s_IntToStr[value];
}
}
2019-10-14 07:45:56 +08:00
public static string ColorToStr(Color color)
{
if (s_ColorToStr.ContainsKey(color))
{
return s_ColorToStr[color];
}
else
{
s_ColorToStr[color] = ColorUtility.ToHtmlStringRGBA(color);
return s_ColorToStr[color];
}
}
2019-07-23 21:43:01 +08:00
}
}