| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 | 
							- using System.Collections.Generic;
 
- using UnityEngine;
 
- using UnityEngine.UI;
 
- using XUGL;
 
- namespace XCharts.Runtime
 
- {
 
-     public static class ChartDrawer
 
-     {
 
-         public static void DrawSymbol(VertexHelper vh, SymbolType type, float symbolSize, float tickness,
 
-             Vector3 pos, Color32 color, Color32 toColor, float gap, float[] cornerRadius,
 
-             Color32 emptyColor, Color32 backgroundColor, Color32 borderColor, float smoothness, Vector3 startPos)
 
-         {
 
-             switch (type)
 
-             {
 
-                 case SymbolType.None:
 
-                     break;
 
-                 case SymbolType.Circle:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawDoughnut(vh, pos, symbolSize, symbolSize + gap, backgroundColor, backgroundColor, color, smoothness);
 
-                     }
 
-                     else
 
-                     {
 
-                         if (tickness > 0)
 
-                             UGL.DrawDoughnut(vh, pos, symbolSize, symbolSize + tickness, borderColor, borderColor, color, smoothness);
 
-                         else
 
-                             UGL.DrawCricle(vh, pos, symbolSize, color, toColor, smoothness);
 
-                     }
 
-                     break;
 
-                 case SymbolType.EmptyCircle:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawCricle(vh, pos, symbolSize + gap, backgroundColor, smoothness);
 
-                         UGL.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, color, emptyColor, smoothness);
 
-                     }
 
-                     else
 
-                     {
 
-                         UGL.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, color, emptyColor, smoothness);
 
-                     }
 
-                     break;
 
-                 case SymbolType.Rect:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawSquare(vh, pos, symbolSize + gap, backgroundColor);
 
-                         UGL.DrawSquare(vh, pos, symbolSize, color, toColor);
 
-                     }
 
-                     else
 
-                     {
 
-                         if (tickness > 0)
 
-                         {
 
-                             UGL.DrawRoundRectangle(vh, pos, symbolSize * 2, symbolSize * 2, color, color, 0, cornerRadius, true);
 
-                             UGL.DrawBorder(vh, pos, symbolSize, symbolSize, tickness, borderColor, 0, cornerRadius);
 
-                         }
 
-                         else
 
-                             UGL.DrawRoundRectangle(vh, pos, symbolSize * 2, symbolSize * 2, color, color, 0, cornerRadius, true);
 
-                     }
 
-                     break;
 
-                 case SymbolType.EmptyRect:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawSquare(vh, pos, symbolSize + gap, backgroundColor);
 
-                         UGL.DrawBorder(vh, pos, symbolSize * 2, symbolSize * 2, tickness, color);
 
-                     }
 
-                     else
 
-                     {
 
-                         UGL.DrawBorder(vh, pos, symbolSize * 2 - tickness * 2, symbolSize * 2 - tickness * 2, tickness, color);
 
-                     }
 
-                     break;
 
-                 case SymbolType.Triangle:
 
-                 case SymbolType.EmptyTriangle:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawEmptyTriangle(vh, pos, symbolSize * 1.4f + gap * 2, gap * 2, backgroundColor);
 
-                     }
 
-                     if (type == SymbolType.EmptyTriangle)
 
-                     {
 
-                         UGL.DrawEmptyTriangle(vh, pos, symbolSize * 1.4f, tickness * 2f, color, emptyColor);
 
-                     }
 
-                     else
 
-                     {
 
-                         UGL.DrawTriangle(vh, pos, symbolSize * 1.4f, color, toColor);
 
-                     }
 
-                     break;
 
-                 case SymbolType.Diamond:
 
-                 case SymbolType.EmptyDiamond:
 
-                     var xRadius = symbolSize;
 
-                     var yRadius = symbolSize * 1.5f;
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawEmptyDiamond(vh, pos, xRadius + gap, yRadius + gap, gap, backgroundColor);
 
-                     }
 
-                     if (type == SymbolType.EmptyDiamond)
 
-                     {
 
-                         UGL.DrawEmptyDiamond(vh, pos, xRadius, yRadius, tickness, color, emptyColor);
 
-                     }
 
-                     else
 
-                     {
 
-                         UGL.DrawDiamond(vh, pos, xRadius, yRadius, color, toColor);
 
-                     }
 
-                     break;
 
-                 case SymbolType.Arrow:
 
-                 case SymbolType.EmptyArrow:
 
-                     var arrowWidth = symbolSize * 2;
 
-                     var arrowHeight = arrowWidth * 1.5f;
 
-                     var arrowOffset = 0;
 
-                     var arrowDent = arrowWidth / 3.3f;
 
-                     if (gap > 0)
 
-                     {
 
-                         arrowWidth = (symbolSize + gap) * 2;
 
-                         arrowHeight = arrowWidth * 1.5f;
 
-                         arrowOffset = 0;
 
-                         arrowDent = arrowWidth / 3.3f;
 
-                         var dir = (pos - startPos).normalized;
 
-                         var sharpPos = pos + gap * dir;
 
-                         UGL.DrawArrow(vh, startPos, sharpPos, arrowWidth, arrowHeight,
 
-                             arrowOffset, arrowDent, backgroundColor);
 
-                     }
 
-                     arrowWidth = symbolSize * 2;
 
-                     arrowHeight = arrowWidth * 1.5f;
 
-                     arrowOffset = 0;
 
-                     arrowDent = arrowWidth / 3.3f;
 
-                     UGL.DrawArrow(vh, startPos, pos, arrowWidth, arrowHeight,
 
-                         arrowOffset, arrowDent, color);
 
-                     if (type == SymbolType.EmptyArrow)
 
-                     {
 
-                         arrowWidth = (symbolSize - tickness) * 2;
 
-                         arrowHeight = arrowWidth * 1.5f;
 
-                         arrowOffset = 0;
 
-                         arrowDent = arrowWidth / 3.3f;
 
-                         var dir = (pos - startPos).normalized;
 
-                         var sharpPos = pos - tickness * dir;
 
-                         UGL.DrawArrow(vh, startPos, sharpPos, arrowWidth, arrowHeight,
 
-                             arrowOffset, arrowDent, backgroundColor);
 
-                     }
 
-                     break;
 
-                 case SymbolType.Plus:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawPlus(vh, pos, symbolSize + gap, tickness + gap, backgroundColor);
 
-                     }
 
-                     UGL.DrawPlus(vh, pos, symbolSize, tickness, color);
 
-                     break;
 
-                 case SymbolType.Minus:
 
-                     if (gap > 0)
 
-                     {
 
-                         UGL.DrawMinus(vh, pos, symbolSize + gap, tickness + gap, backgroundColor);
 
-                     }
 
-                     UGL.DrawMinus(vh, pos, symbolSize, tickness, color);
 
-                     break;
 
-             }
 
-         }
 
-         public static void DrawLineStyle(VertexHelper vh, LineStyle lineStyle, Vector3 startPos, Vector3 endPos,
 
-             Color32 defaultColor, float themeWidth, LineStyle.Type themeType)
 
-         {
 
-             var type = lineStyle.GetType(themeType);
 
-             var width = lineStyle.GetWidth(themeWidth);
 
-             var color = lineStyle.GetColor(defaultColor);
 
-             DrawLineStyle(vh, type, width, startPos, endPos, color, color);
 
-         }
 
-         public static void DrawLineStyle(VertexHelper vh, LineStyle lineStyle, Vector3 startPos, Vector3 endPos,
 
-             float themeWidth, LineStyle.Type themeType, Color32 defaultColor, Color32 defaultToColor)
 
-         {
 
-             var type = lineStyle.GetType(themeType);
 
-             var width = lineStyle.GetWidth(themeWidth);
 
-             var color = lineStyle.GetColor(defaultColor);
 
-             var toColor = ChartHelper.IsClearColor(defaultToColor) ? color : defaultToColor;
 
-             DrawLineStyle(vh, type, width, startPos, endPos, color, toColor);
 
-         }
 
-         public static void DrawLineStyle(VertexHelper vh, LineStyle.Type lineType, float lineWidth,
 
-             Vector3 startPos, Vector3 endPos, Color32 color)
 
-         {
 
-             DrawLineStyle(vh, lineType, lineWidth, startPos, endPos, color, color);
 
-         }
 
-         public static void DrawLineStyle(VertexHelper vh, LineStyle.Type lineType, float lineWidth,
 
-             Vector3 startPos, Vector3 endPos, Color32 color, Color32 toColor)
 
-         {
 
-             switch (lineType)
 
-             {
 
-                 case LineStyle.Type.Dashed:
 
-                     UGL.DrawDashLine(vh, startPos, endPos, lineWidth, color, toColor);
 
-                     break;
 
-                 case LineStyle.Type.Dotted:
 
-                     UGL.DrawDotLine(vh, startPos, endPos, lineWidth, color, toColor);
 
-                     break;
 
-                 case LineStyle.Type.Solid:
 
-                     UGL.DrawLine(vh, startPos, endPos, lineWidth, color, toColor);
 
-                     break;
 
-                 case LineStyle.Type.DashDot:
 
-                     UGL.DrawDashDotLine(vh, startPos, endPos, lineWidth, color);
 
-                     break;
 
-                 case LineStyle.Type.DashDotDot:
 
-                     UGL.DrawDashDotDotLine(vh, startPos, endPos, lineWidth, color);
 
-                     break;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |