/// <summary> /// Bind buttons to legends. /// |给图例绑定按钮。 /// </summary> /// <param name="name"></param> /// <param name="btn"></param> /// <param name="total"></param> public void SetButton(string name, LegendItem item, int total) { context.buttonList[name] = item; int index = context.buttonList.Values.Count; item.SetIconActive(iconType == Type.Custom); item.SetActive(show); }
public static LegendItem AddLegendItem(BaseChart chart, Legend legend, int i, string legendName, Transform parent, ThemeStyle theme, string content, Color itemColor, bool active, int legendIndex) { 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.labelStyle.textStyle; var contentColor = GetContentColor(chart, legendIndex, legendName, legend, theme, active); var objAnchorMin = new Vector2(0, 1); var objAnchorMax = new Vector2(0, 1); var objPivot = new Vector2(0, 1); var btnObj = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta); var iconObj = ChartHelper.AddObject("icon", btnObj.transform, anchorMin, anchorMax, pivot, iconSizeDelta); var img = ChartHelper.GetOrAddComponent <Image>(btnObj); img.color = Color.clear; img.raycastTarget = true; ChartHelper.GetOrAddComponent <Button>(btnObj); ChartHelper.GetOrAddComponent <Image>(iconObj); var label = ChartHelper.AddChartLabel("content", btnObj.transform, legend.labelStyle, theme.legend, content, contentColor, TextAnchor.MiddleLeft); label.SetActive(true); var item = new LegendItem(); item.index = i; item.name = objName; item.legendName = legendName; item.SetObject(btnObj); item.SetIconSize(legend.itemWidth, legend.itemHeight); item.SetIconColor(itemColor); item.SetIconImage(legend.GetIcon(i)); item.SetContentPosition(legend.labelStyle.offset); item.SetContent(content); //item.SetBackground(legend.background); return(item); }