Example #1
0
        public void RenderTarget<A, B>(A target, B fallback)
        {
            renderingTarget = target;

            for (int i = 0; i < elements.Length; i++)
            {
                TooltipElement element = elements[i];

                if (typeof (ITooltipTarget<A>).IsAssignableFrom (element.GetType ()))
                {
                    ITooltipTarget<A> tooltipTarget = (ITooltipTarget<A>)element;

                    tooltipTarget.Render (target);
                    element.gameObject.SetActive (true);
                }
                else if (typeof (ITooltipTarget<B>).IsAssignableFrom (element.GetType ()))
                {
                    ITooltipTarget<B> tooltipTarget = (ITooltipTarget<B>)element;

                    tooltipTarget.Render (fallback);
                    element.gameObject.SetActive (true);
                }
                else
                {
                    element.gameObject.SetActive (false);
                }
            }
        }
Example #2
0
        ITooltipTarget GetTooltipUnderMouse()
        {
            ITooltipTarget    result = null;
            List <GameObject> hits   = Utility.GetObjectsUnderMouse();

            //if(hits.Count > 0)
            //{
            //	result = hits[0].GetComponent<ITooltipTarget>();
            //}
            foreach (GameObject go in hits)
            {
                result = go.GetComponent <ITooltipTarget>();
                if (result != null)
                {
                    break;
                }
            }
            return(result);
        }
Example #3
0
        // Update is called once per frame
        void Update()
        {
            bool hideTip = true;

            ITooltipTarget target = GetTooltipUnderMouse();

            if (Draggable.CurrentDragged == null && target != null)
            {
                string text = target.TooltipText;
                if (!string.IsNullOrEmpty(text))
                {
                    hideTip = false;
                    tooltipBackground.gameObject.SetActive(true);
                    tooltipText.text = target.TooltipText;
                    LayoutRebuilder.MarkLayoutForRebuild(tooltipBackground.rectTransform);
                    SetTooltipPosition();
                }
            }
            if (hideTip)
            {
                tooltipBackground.gameObject.SetActive(false);
            }
        }
 public void Subscribe(ITooltipTarget item, Image image)
 {
     base.Subscribe(item, image);
 }
 public virtual void Unsubcribe(ITooltipTarget item)
 {
     item.MouseEnter -= new EventHandler(Item_MouseEnter);
     item.MouseLeave -= new EventHandler(Item_MouseLeave);
     subscriptions.Remove(item);
 }
 protected virtual void Subscribe(ITooltipTarget item, object tag)
 {
     subscriptions.Add(item, tag);
     item.MouseEnter += new EventHandler(Item_MouseEnter);
     item.MouseLeave += new EventHandler(Item_MouseLeave);
 }