Beispiel #1
0
        public void Show(string tooltipText, RectTransform targetRect, TooltipAlignment alignment, TooltipSize size)
        {
            if (currentTooltip != null && currentTooltip.Item is TooltipItemNormal == false)
            {
                currentTooltip.Hide();
            }

            TooltipNormal.ModifyContent(tooltipText);
            Show(TooltipNormal.Slot, targetRect, alignment, size);
        }
Beispiel #2
0
        private void Show(TooltipSlot newTooltip, RectTransform targetRect, TooltipAlignment alignment, TooltipSize size)
        {
            currentTooltip = newTooltip;
            targetRect.GetWorldCorners(Corners);

            tooltipSizeSettings.Value(size).Modify(newTooltip);
            tooltipAlignmentSettings.Value(alignment).Modify(newTooltip, Corners);

            TooltipSpell.Slot.Show(targetRect);
        }
Beispiel #3
0
        public void Show(SpellInfo tooltipSpell, RectTransform targetRect, TooltipAlignment alignment, TooltipSize size)
        {
            if (currentTooltip != null && currentTooltip.Item is TooltipItemSpell == false)
            {
                currentTooltip.Hide();
            }

            TooltipSpell.ModifyContent(tooltipSpell);
            Show(TooltipSpell.Slot, targetRect, alignment, size);
        }
Beispiel #4
0
    /// <summary>
    /// Update the data of the tooltip with the provided source data.
    /// </summary>
    /// <param name="source">Tooltip object to pull the data from.</param>
    public void UpdateTooltip(Tooltip source)
    {
        if (header != null)
        {
            header.text = source.header;
        }
        if (body != null)
        {
            body.text = source.text;
        }
        if (icon != null)
        {
            icon.sprite  = source.icon;
            icon.enabled = (source.icon != null);
        }

        followMouse = source.followMouse;
        alignment   = source.alignment;
        target      = source.GetComponent <RectTransform>();

        if (source.offset == Vector2.zero)
        {
            offset = Vector2.zero;
        }
        else
        {
            if (alignment == TooltipAlignment.Default)
            {
                offset = (target != null) ? (target.position / 2f) - (Input.mousePosition / 2f) : Vector3.zero;
            }
            else if (alignment == TooltipAlignment.Above)
            {
                offset = new Vector2(0f, self.rect.height / 2f) + source.offset;
            }
            else if (alignment == TooltipAlignment.Below)
            {
                offset = new Vector2(0f, -self.rect.height / 2f) + source.offset;
            }
            else if (alignment == TooltipAlignment.Left)
            {
                offset = new Vector2(-self.rect.width / 2f, -self.rect.height / 2f) + source.offset;
            }
            else if (alignment == TooltipAlignment.Right)
            {
                offset = new Vector2(self.rect.width / 2f, -self.rect.height / 2f) + source.offset;
            }
        }
    }
Beispiel #5
0
    /// <summary>
    /// Display a tooltip with specified paramaters for positioning.
    /// </summary>
    /// <param name="text">Body text of the tooltip</param>
    /// <param name="title">Header title of the tooltip</param>
    /// <param name="image">Icon sprite image of the tooltip, displayed next to the header</param>
    /// <param name="updatePosition">Should the position of the tooltip be updated to the mouse position per frame?</param>
    /// <param name="mouseOffset">Offset value from its origin point (mouse or object, depending on upatePosition)</param>
    /// <param name="alignmentPosition">Position alignment in relation to the origin point of the object</param>
    /// <param name="targetObject">Object to be displaying this tooltip on</param>
    public void ShowTooltip(string text, string title = "", Sprite image = null, bool updatePosition = false, Vector2 mouseOffset = new Vector2(), TooltipAlignment alignmentPosition = TooltipAlignment.Default, RectTransform targetObject = null)
    {
        if (header != null)
        {
            header.text = title;
        }
        if (body != null)
        {
            body.text = text;
        }
        if (icon != null)
        {
            icon.sprite  = image;
            icon.enabled = (image != null);
        }

        followMouse = updatePosition;
        alignment   = alignmentPosition;
        target      = targetObject;

        if (alignment == TooltipAlignment.Default)
        {
            offset = (target != null) ? (target.position / 2f) - (Input.mousePosition / 2f) : Vector3.zero;
        }
        else if (alignment == TooltipAlignment.Above)
        {
            offset = new Vector2(0f, self.rect.height / 2f) + mouseOffset;
        }
        else if (alignment == TooltipAlignment.Below)
        {
            FlipOffset(ref mouseOffset); offset = new Vector2(0f, -self.rect.height / 2f) + mouseOffset;
        }
        else if (alignment == TooltipAlignment.Left)
        {
            FlipOffset(ref mouseOffset); offset = new Vector2(-self.rect.width / 2f, -self.rect.height / 2f) + mouseOffset;
        }
        else if (alignment == TooltipAlignment.Right)
        {
            offset = new Vector2(self.rect.width / 2f, -self.rect.height / 2f) + mouseOffset;
        }

        SetPosition();
        gameObject.SetActive(true);
        gameObject.GetComponent <ContentSizeFitter>().SetLayoutVertical();
    }