/******************************************/ /* */ /* Copyright (c) 2018 monitor1394 */ /* https://github.com/monitor1394 */ /* */ /******************************************/ using UnityEngine; using UnityEngine.UI; namespace XCharts { internal static class LegendHelper { public static Color GetContentColor(Legend legend, ThemeInfo themeInfo, bool active) { var textStyle = legend.textStyle; if (active) return !ChartHelper.IsClearColor(textStyle.color) ? textStyle.color : (Color)themeInfo.legendTextColor; else return (Color)themeInfo.legendUnableColor; } public static Color GetIconColor(Legend legend, int readIndex, ThemeInfo themeInfo, bool active) { if (active) { if (legend.itemAutoColor || legend.GetIcon(readIndex) == null) return (Color)themeInfo.GetColor(readIndex); else return Color.white; } else return (Color)themeInfo.legendUnableColor; } public static LegendItem AddLegendItem(Legend legend, int i, string legendName, Transform parent, ThemeInfo themeInfo, string content, Color itemColor, bool active) { var objName = i + "_" + legendName; var anchorMin = new Vector2(0, 0.5f); var anchorMax = new Vector2(0, 0.5f); var pivot = new Vector2(0, 0.5f); var sizeDelta = new Vector2(100, 30); var iconSizeDelta = new Vector2(legend.itemWidth, legend.itemHeight); var textStyle = legend.textStyle; var font = textStyle.font ? textStyle.font : themeInfo.font; var contentColor = GetContentColor(legend, themeInfo, active); var objAnchorMin = legend.location.runtimeAnchorMin; var objAnchorMax = legend.location.runtimeAnchorMax; var objPivot = legend.location.runtimePivot; var btnObj = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta, i); var iconObj = ChartHelper.AddObject("icon", btnObj.transform, anchorMin, anchorMax, pivot, iconSizeDelta); var contentObj = ChartHelper.AddObject("content", btnObj.transform, anchorMin, anchorMax, pivot, sizeDelta); var img = ChartHelper.GetOrAddComponent(btnObj); img.color = Color.clear; ChartHelper.GetOrAddComponent