private Image DrawImage(Sprite sprite, Vector2 centerPos, Vector2 dimensions, string tooltipTitle = "", string tooltipText = "") { GameObject obj = new GameObject("ModifierIcon", typeof(Image)); obj.transform.SetParent(GraphContainer, false); Image imgObj = obj.GetComponent <Image>(); imgObj.sprite = sprite; RectTransform rect = obj.GetComponent <RectTransform>(); rect.anchoredPosition = centerPos; rect.sizeDelta = dimensions; rect.anchorMin = new Vector2(0, 0); rect.anchorMax = new Vector2(0, 0); // Tooltip if (tooltipTitle != "") { TooltipTarget tooltipTarget = obj.AddComponent <TooltipTarget>(); tooltipTarget.Title = tooltipTitle; tooltipTarget.Text = tooltipText; } return(imgObj); }
public void SetTarget(TooltipTarget tooltipTarget) { // Configure layout RectTransform canvasTransform = tooltipTarget.GetComponentInParent <Canvas>().GetComponent <RectTransform>(); RectTransform tooltipTransform = GetComponent <RectTransform>(); RectTransform targetTransform = tooltipTarget.GetComponent <RectTransform>(); tooltipTransform.SetParent(canvasTransform, false); float xOffset = targetTransform.rect.xMin; if (targetTransform.position.x > canvasTransform.rect.width / 2) { tooltipTransform.pivot = new Vector2(1, tooltipTransform.pivot.y); xOffset = targetTransform.rect.xMax; } tooltipTransform.position = ((Vector2)targetTransform.position) + new Vector2(xOffset, targetTransform.rect.yMax); // Populate with data foreach (ITooltipEntry entry in tooltipTarget.entries) { entry.AddTooltipEntry(this); } }