Ejemplo n.º 1
0
        void SetTooltip(Tooltip _tooltip)
        {
            if (_tooltip == null || currentTooltip != null)
            {
                return;
            }

            hasTooltipOn = true;

            currentTooltip = TooltipManager.Instance.GetNewTooltip();
            currentTooltip.transform.SetParent(tooltipParent, false);
            TooltipDisplay tooltipDisplay = currentTooltip.GetComponent <TooltipDisplay>();

            tooltipDisplay.parentHoverElement = this;
            tooltipDisplay.SetTooltip(_tooltip);
            tooltipDisplay.AlignPosition();

            Canvas.ForceUpdateCanvases(); // Update Canvas and VerticalLayoutGroup for correct Tooltip size
            tooltipDisplay.GetComponent <VerticalLayoutGroup>().enabled = false;
            tooltipDisplay.GetComponent <VerticalLayoutGroup>().enabled = true;

            if (TooltipManager.Instance.settings.useHoverTimerToLock)
            {
                coroutine = StartCoroutine(StartTooltipLocking(TooltipManager.Instance.settings.hoverTimeToLock));
            }
        }
Ejemplo n.º 2
0
        public void RemoveTooltip(GameObject _tooltip)
        {
            if (_tooltip == null)
            {
                return;
            }
            _tooltip.transform.SetParent(tooltipStorage, false);
            TooltipDisplay tooltipDisplay = _tooltip.GetComponent <TooltipDisplay>();

            tooltipDisplay.SetDisplayOff();
            activeTooltips.Remove(_tooltip);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Returns a GameObject which is a Tooltip from the Pool or creates a new one
        /// </summary>
        /// <returns></returns>
        public GameObject GetNewTooltip()
        {
            foreach (GameObject tooltip in tooltips)
            {
                TooltipDisplay display = tooltip.GetComponent <TooltipDisplay>();
                if (!display.isInUse)
                {
                    display.isInUse = true;
                    activeTooltips.Add(tooltip);
                    tooltip.GetComponent <TooltipDisplay>().isInUse = true;
                    return(tooltip);
                }
            }
            GameObject newTooltip = Instantiate(tooltipPrefab, tooltipStorage) as GameObject;

            tooltips.Add(newTooltip);
            activeTooltips.Add(newTooltip);
            newTooltip.GetComponent <TooltipDisplay>().isInUse = true;
            return(newTooltip);
        }
Ejemplo n.º 4
0
        public void RemoveAllTooltips() // TODO Base Hoverelement reset (Done?)
        {
            GameObject[] activeTooltipArray = activeTooltips.ToArray();

            for (int i = activeTooltipArray.Length - 1; i >= 0; i--)
            {
                GameObject tooltip = activeTooltipArray[i];
                tooltip.transform.SetParent(tooltipStorage, false);
                TooltipDisplay tooltipDisplay = tooltip.GetComponent <TooltipDisplay>();
                tooltipDisplay.hoverElement.RemoveTooltip();
                tooltipDisplay.isFixed = false;
                tooltipDisplay.isInUse = false;
            }
            if (baseActiveHoverElement != null)
            {
                baseActiveHoverElement.RemoveTooltip();
                baseActiveHoverElement = null;
            }
            activeTooltips = new List <GameObject>();
        }