Exemple #1
0
        protected virtual void MoveToCanvasPoint(Vector2 newPosition, ShowTooltip tooltip)
        {
            Vector2 centerCanvasPoint = canvasRect.sizeDelta * 0.5f;

            //Bottom right of canvas
            if (newPosition.x >= centerCanvasPoint.x && newPosition.y <= centerCanvasPoint.y)
            {
                thisRect.SetRectTransformAnchorsAndPivot(Vector2.right, Vector2.right, Vector2.right);
                thisRect.position = newPosition;
            }
            //Top right of canvas
            else if (newPosition.x >= centerCanvasPoint.x && newPosition.y > centerCanvasPoint.y)
            {
                thisRect.SetRectTransformAnchorsAndPivot(Vector2.one, Vector2.one, Vector2.one);
                thisRect.position = newPosition;
            }
            //Bottom left of canvas
            else if (newPosition.x < centerCanvasPoint.x && newPosition.y <= centerCanvasPoint.y)
            {
                thisRect.SetRectTransformAnchorsAndPivot(Vector2.zero, Vector2.zero, Vector2.zero);
                thisRect.position = newPosition;
            }
            //Top left of canvas
            else
            {
                thisRect.SetRectTransformAnchorsAndPivot(Vector2.up, Vector2.up, Vector2.up);
                thisRect.position = newPosition;
            }
        }
Exemple #2
0
        protected virtual void InstantiateTextEntries(ShowTooltip tooltip)
        {
            List <IDescribable>        comps = tooltip.GetComponents <IDescribable>().ToList();
            IEnumerable <IDescribable> query = comps.OrderBy(des => des.TooltipPriority);

            foreach (IDescribable des in query)
            {
                if (!des.IsTooltipSuppressed)
                {
                    GameObject newObj  = Instantiate(textPrefab, transform);
                    Text       newText = newObj.GetRequiredComponent <Text>();
                    newText.text = des.GetRichTextBasicInfo();
                    textLinks.Add(new TextLinkEntry(des.TooltipPriority, des, newText));
                }
            }
        }
Exemple #3
0
        public virtual void Show(ShowTooltip tooltip)
        {
            gameObject.SetActive(true);
            InstantiateTextEntries(tooltip);
            Canvas.ForceUpdateCanvases();

            if (tooltip.TooltipMode == ShowTooltip.TooltipType.Game)
            {
                MoveToCanvasPoint(Camera.main.WorldToCanvasPoint(canvasRect, tooltip.transform.position), tooltip);
            }
            else
            {
                RectTransform objRect = tooltip.gameObject.GetRequiredComponent <RectTransform>();
                MoveToCanvasPoint(objRect.rect.center + (Vector2)objRect.position, tooltip);
            }
        }
Exemple #4
0
 public void ShowGameTooltip(ShowTooltip tooltip)
 {
     gameTooltipView.Show(tooltip);
 }
 public override void Show(ShowTooltip tooltip)
 {
     gameObject.SetActive(true);
     InstantiateTextEntries(tooltip);
     Canvas.ForceUpdateCanvases();
 }