| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | 
							- using System;
 
- using UnityEngine;
 
- namespace XCharts.Runtime
 
- {
 
-     public static class TooltipHelper
 
-     {
 
-         internal static void ResetTooltipParamsByItemFormatter(Tooltip tooltip, BaseChart chart)
 
-         {
 
-             if (!string.IsNullOrEmpty(tooltip.titleFormatter))
 
-             {
 
-                 if (IsIgnoreFormatter(tooltip.titleFormatter))
 
-                 {
 
-                     tooltip.context.data.title = string.Empty;
 
-                 }
 
-                 else
 
-                 {
 
-                     tooltip.context.data.title = tooltip.titleFormatter;
 
-                     FormatterHelper.ReplaceContent(ref tooltip.context.data.title, -1,
 
-                         tooltip.numericFormatter, null, chart);
 
-                 }
 
-             }
 
-             for (int i = tooltip.context.data.param.Count - 1; i >= 0; i--)
 
-             {
 
-                 var param = tooltip.context.data.param[i];
 
-                 if (IsIgnoreFormatter(param.itemFormatter))
 
-                 {
 
-                     tooltip.context.data.param.RemoveAt(i);
 
-                 }
 
-             }
 
-             foreach (var param in tooltip.context.data.param)
 
-             {
 
-                 if (!string.IsNullOrEmpty(param.itemFormatter))
 
-                 {
 
-                     param.columns.Clear();
 
-                     var content = param.itemFormatter;
 
-                     FormatterHelper.ReplaceSerieLabelContent(ref content,
 
-                         param.numericFormatter,
 
-                         param.dataCount,
 
-                         param.value,
 
-                         param.total,
 
-                         param.serieName,
 
-                         param.category,
 
-                         param.serieData.name,
 
-                         param.color,
 
-                         param.serieData,
 
-                         chart);
 
-                     foreach (var item in content.Split('|'))
 
-                     {
 
-                         param.columns.Add(item);
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         public static bool IsIgnoreFormatter(string itemFormatter)
 
-         {
 
-             return "-".Equals(itemFormatter) ||"{i}".Equals(itemFormatter, StringComparison.CurrentCultureIgnoreCase);
 
-         }
 
-         public static void LimitInRect(Tooltip tooltip, Rect chartRect)
 
-         {
 
-             if (tooltip.view == null)
 
-                 return;
 
-             var pos = tooltip.view.GetTargetPos();
 
-             if (pos.x + tooltip.context.width > chartRect.x + chartRect.width)
 
-             {
 
-                 pos.x = tooltip.context.pointer.x - tooltip.context.width - tooltip.offset.x;
 
-             }
 
-             else if (pos.x < chartRect.x)
 
-             {
 
-                 pos.x = tooltip.context.pointer.x - tooltip.context.width + Mathf.Abs(tooltip.offset.x);
 
-             }
 
-             if (pos.y - tooltip.context.height < chartRect.y)
 
-             {
 
-                 pos.y = chartRect.y + tooltip.context.height;
 
-             }
 
-             if (pos.y > chartRect.y + chartRect.height)
 
-                 pos.y = chartRect.y + chartRect.height;
 
-             tooltip.UpdateContentPos(pos, chartRect.width / 2, chartRect.height / 2);
 
-         }
 
-         public static string GetItemNumericFormatter(Tooltip tooltip, Serie serie, SerieData serieData)
 
-         {
 
-             var itemStyle = SerieHelper.GetItemStyle(serie, serieData);
 
-             if (!string.IsNullOrEmpty(itemStyle.numericFormatter)) return itemStyle.numericFormatter;
 
-             else return tooltip.numericFormatter;
 
-         }
 
-         public static Color32 GetLineColor(Tooltip tooltip, Color32 defaultColor)
 
-         {
 
-             var lineStyle = tooltip.lineStyle;
 
-             if (!ChartHelper.IsClearColor(lineStyle.color))
 
-             {
 
-                 return lineStyle.GetColor();
 
-             }
 
-             else
 
-             {
 
-                 var color = defaultColor;
 
-                 ChartHelper.SetColorOpacity(ref color, lineStyle.opacity);
 
-                 return color;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |