private static Vector3 GetPosition(Rect target, TooltipPosition position)
        {
            //IL_0037: Unknown result type (might be due to invalid IL or missing references)
            //IL_003c: Unknown result type (might be due to invalid IL or missing references)
            //IL_005e: Unknown result type (might be due to invalid IL or missing references)
            //IL_0063: Unknown result type (might be due to invalid IL or missing references)
            //IL_0085: Unknown result type (might be due to invalid IL or missing references)
            //IL_008a: Unknown result type (might be due to invalid IL or missing references)
            //IL_00ac: Unknown result type (might be due to invalid IL or missing references)
            //IL_00b1: Unknown result type (might be due to invalid IL or missing references)
            switch (position)
            {
            case TooltipPosition.Top:
                return(Vector2.op_Implicit(new Vector2(target.get_x() + target.get_width() * 0.5f, target.get_yMax())));

            case TooltipPosition.Bottom:
                return(Vector2.op_Implicit(new Vector2(target.get_x() + target.get_width() * 0.5f, target.get_yMin())));

            case TooltipPosition.Left:
                return(Vector2.op_Implicit(new Vector2(target.get_xMin(), target.get_y() + target.get_height() * 0.5f)));

            case TooltipPosition.Right:
                return(Vector2.op_Implicit(new Vector2(target.get_xMax(), target.get_y() + target.get_height() * 0.5f)));

            default:
                throw new ArgumentOutOfRangeException("position", position, null);
            }
        }
        /// <summary>
        /// Returns the left, top coordinate of the tooltip based on the found points, the position and the tooltip size.
        /// </summary>
        /// <param name="foundPoints"></param>
        /// <param name="position"></param>
        /// <param name="tooltipSize"></param>
        /// <returns></returns>
        public static PointF?GetCartesianTooltipLocation(
            this IEnumerable <TooltipPoint> foundPoints, TooltipPosition position, SizeF tooltipSize)
        {
            var count = 0f;

            var placementContext = new TooltipPlacementContext();

            foreach (var point in foundPoints)
            {
                if (point.Point.Context.HoverArea == null)
                {
                    continue;
                }
                point.Point.Context.HoverArea.SuggestTooltipPlacement(placementContext);
                count++;
            }

            if (count == 0)
            {
                return(null);
            }

            var avrgX = (placementContext.MostRight + placementContext.MostLeft) / 2f - tooltipSize.Width * 0.5f;
            var avrgY = (placementContext.MostTop + placementContext.MostBottom) / 2f - tooltipSize.Height * 0.5f;

            return(position switch
            {
                TooltipPosition.Top => new PointF(avrgX, placementContext.MostTop - tooltipSize.Height),
                TooltipPosition.Bottom => new PointF(avrgX, placementContext.MostBottom),
                TooltipPosition.Left => new PointF(placementContext.MostLeft - tooltipSize.Width, avrgY),
                TooltipPosition.Right => new PointF(placementContext.MostRight, avrgY),
                TooltipPosition.Center => new PointF(avrgX, avrgY),
                TooltipPosition.Hidden => new PointF(),
                _ => new PointF(),
            });
示例#3
0
        protected Vector2 GetPivotForPosition(TooltipPosition position)
        {
            Vector2 pivot = new Vector2(0.5f, 0.5f);

            switch (position)
            {
            case TooltipPosition.Above:
                pivot = new Vector2(0.5f, 0);
                break;

            case TooltipPosition.Below:
                pivot = new Vector2(0.5f, 1);
                break;

            case TooltipPosition.Left:
                pivot = new Vector2(1, 0.5f);
                break;

            case TooltipPosition.Right:
                pivot = new Vector2(0, 0.5f);
                break;
            }

            return(pivot);
        }
示例#4
0
    public void Show(RectTransform onRect, TooltipPosition position = TooltipPosition.TOP, float usedOffset = 10f)
    {
        currentPositioning = position;
//		Debug.Log ("showing on " + onRect.transform.position);
        //Set position to rect

        StartCoroutine(DelaySetPosition(onRect, usedOffset));
    }
示例#5
0
        public static void ShowTooltip(ITooltipDataProvider tooltipDataProvider, TooltipPosition position, RectTransform rectTransform)
        {
            FightTooltip fightTooltip = GetFightTooltip();

            if (fightTooltip != null)
            {
                fightTooltip.Initialize(tooltipDataProvider);
                fightTooltip.ShowAt(position, rectTransform);
            }
        }
示例#6
0
        public void LoadAttributes(AttributeDictionary attributes)
        {
            if (attributes.ContainsKey("tooltipTextColor"))
            {
                SetTextColor(attributes["tooltipTextColor"].ToColor());
            }
            if (attributes.ContainsKey("tooltipBackgroundColor"))
            {
                SetBackgroundColor(attributes["tooltipBackgroundColor"].ToColor());
            }
            if (attributes.ContainsKey("tooltipBorderColor"))
            {
                SetBorderColor(attributes["tooltipBorderColor"].ToColor());
            }

            if (attributes.ContainsKey("tooltipBackgroundImage"))
            {
                SetBackgroundImage(attributes["tooltipBackgroundImage"].ToSprite());
            }
            if (attributes.ContainsKey("tooltipBorderImage"))
            {
                SetBorderImage(attributes["tooltipBorderImage"].ToSprite());
            }

            if (attributes.ContainsKey("tooltipFontSize"))
            {
                SetFontSize(int.Parse(attributes["tooltipfontsize"]));
            }
            if (attributes.ContainsKey("tooltipPadding"))
            {
                SetTooltipPadding(attributes["tooltipPadding"].ToRectOffset());
            }

            if (attributes.ContainsKey("tooltipTextOutlineColor"))
            {
                SetTextOutlineColor(attributes["tooltipTextOutlineColor"].ToColor());
            }
            if (attributes.ContainsKey("tooltipFont"))
            {
                SetFont(attributes["tooltipFont"].ToFont());
            }

            if (attributes.ContainsKey("tooltipPosition"))
            {
                tooltipPosition = (TooltipPosition)Enum.Parse(typeof(TooltipPosition), attributes["tooltipPosition"]);
            }
            if (attributes.ContainsKey("tooltipFollowMouse"))
            {
                followMouse = attributes["tooltipFollowMouse"].ToBoolean();
            }
            if (attributes.ContainsKey("tooltipOffset"))
            {
                offsetDistance = float.Parse(attributes["tooltipOffset"]);
            }
        }
示例#7
0
        public static void ShowTooltip(ITooltipDataProvider tooltipDataProvider, TooltipPosition position, Vector3 worldPosition)
        {
            //IL_0018: Unknown result type (might be due to invalid IL or missing references)
            FightTooltip fightTooltip = GetFightTooltip();

            if (fightTooltip != null)
            {
                fightTooltip.Initialize(tooltipDataProvider);
                fightTooltip.ShowAt(position, worldPosition);
            }
        }
示例#8
0
        public void ShowTooltip(string text, TooltipPosition position)
        {
            Vector3 pos;

            RectTransformUtility.ScreenPointToWorldPointInRectangle(canvas.transform as RectTransform, new Vector2(-Screen.width, 0), canvas.worldCamera, out pos);
            transform.position = pos;
            tooltipText.text   = text;
            gameObject.SetActive(true);
            transform.SetAsLastSibling();
            StartCoroutine(set_position_in_bounds(position));
        }
示例#9
0
        protected Vector2 GetTooltipOffset(XmlElement element, TooltipPosition position, float tooltipOffsetDistance)
        {
            float desiredXChange = 0, desiredYChange = 0;

            Vector3[] elementCorners = new Vector3[4], tooltipCorners = new Vector3[4];
            ((RectTransform)element.rectTransform).GetWorldCorners(elementCorners);
            rectTransform.GetWorldCorners(tooltipCorners);

            switch (position)
            {
            case TooltipPosition.Above:
            {
                // distance from the element's bottom edge to the parent's top edge
                var parentTopEdge     = elementCorners[2].y;
                var elementBottomEdge = tooltipCorners[0].y;

                desiredYChange = parentTopEdge - elementBottomEdge + tooltipOffsetDistance;
            }
            break;

            case TooltipPosition.Below:
            {
                // distance from the element's top edge to the parent's bottom edge
                var parentBottomEdge = elementCorners[3].y;
                var elementTopEdge   = tooltipCorners[1].y;

                desiredYChange = parentBottomEdge - elementTopEdge - tooltipOffsetDistance;
            }
            break;

            case TooltipPosition.Left:
            {
                // distance from the element's right edge to the parent's left edge
                var parentLeftEdge   = elementCorners[0].x;
                var elementRightEdge = tooltipCorners[3].x;

                desiredXChange = parentLeftEdge - elementRightEdge - tooltipOffsetDistance;
            }
            break;

            case TooltipPosition.Right:
            {
                // distance from the element's left edge to the parent's right edge
                var parentRightEdge = elementCorners[3].x;
                var elementLeftEdge = tooltipCorners[0].x;

                desiredXChange = parentRightEdge - elementLeftEdge + tooltipOffsetDistance;
            }
            break;
            }

            return(new Vector2(desiredXChange, desiredYChange));
        }
        public unsafe void ShowAt(TooltipPosition position, Vector3 worldPosition)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000b: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Unknown result type (might be due to invalid IL or missing references)
            //IL_0011: Unknown result type (might be due to invalid IL or missing references)
            //IL_0012: Unknown result type (might be due to invalid IL or missing references)
            //IL_0014: Unknown result type (might be due to invalid IL or missing references)
            //IL_001e: Unknown result type (might be due to invalid IL or missing references)
            //IL_0024: Unknown result type (might be due to invalid IL or missing references)
            //IL_002a: Expected O, but got Unknown
            //IL_002a: Unknown result type (might be due to invalid IL or missing references)
            //IL_0030: Expected O, but got Unknown
            //IL_002b: Unknown result type (might be due to invalid IL or missing references)
            //IL_0030: Unknown result type (might be due to invalid IL or missing references)
            //IL_0032: Unknown result type (might be due to invalid IL or missing references)
            //IL_0037: Unknown result type (might be due to invalid IL or missing references)
            //IL_003f: Unknown result type (might be due to invalid IL or missing references)
            //IL_004b: Unknown result type (might be due to invalid IL or missing references)
            //IL_0107: Unknown result type (might be due to invalid IL or missing references)
            _003F   val        = this.get_transform();
            Vector3 lossyScale = val.get_lossyScale();

            val.set_pivot(GetPivotFor(position));
            RectTransform transform = val.get_root();
            Rect          val2      = RectTransformToScreenSpace(val, worldPosition);
            Rect          rect      = RectTransformToScreenSpace(transform);

            Enlarge(ref rect, -10f * ((IntPtr)(void *)lossyScale).x, -10f * ((IntPtr)(void *)lossyScale).y);
            float num  = rect.get_xMax() - val2.get_xMax();
            float num2 = val2.get_xMin() - rect.get_xMin();
            float num3 = rect.get_yMax() - val2.get_yMax();
            float num4 = val2.get_yMin() - rect.get_yMin();

            m_borderDistanceToScreen = new RectOffset(num2, num, num3, num4);
            if (num < 0f)
            {
                worldPosition.x += num;
            }
            if (num2 < 0f)
            {
                worldPosition.x -= num2;
            }
            if (num3 < 0f)
            {
                worldPosition.y += num3;
            }
            if (num4 < 0f)
            {
                worldPosition.y -= num4;
            }
            DisplayTooltip(worldPosition);
        }
示例#11
0
        /// <summary>
        /// Returns the left, top coordinate of the tooltip based on the found points, the position and the tooltip size.
        /// </summary>
        /// <param name="foundPoints"></param>
        /// <param name="position"></param>
        /// <param name="tooltipSize"></param>
        /// <returns></returns>
        public static PointF?GetTooltipLocation <TDrawingContext>(
            this IEnumerable <FoundPoint <TDrawingContext> > foundPoints,
            TooltipPosition position,
            SizeF tooltipSize)
            where TDrawingContext : DrawingContext
        {
            float count = 0f, mostTop = float.MaxValue, mostBottom = float.MinValue, mostRight = float.MinValue, mostLeft = float.MaxValue;

            foreach (var point in foundPoints)
            {
                var ha = point.Coordinate.HoverArea;
                if (ha.Y < mostTop)
                {
                    mostTop = ha.Y;
                }
                if (ha.Y + ha.Height > mostBottom)
                {
                    mostBottom = ha.Y + ha.Height;
                }
                if (ha.X + ha.Width > mostRight)
                {
                    mostRight = ha.X + ha.Width;
                }
                if (ha.X < mostLeft)
                {
                    mostLeft = ha.X;
                }
                count++;
            }

            if (count == 0)
            {
                return(null);
            }

            var avrgX = ((mostRight + mostLeft) / 2f) - tooltipSize.Width * 0.5f;
            var avrgY = ((mostTop + mostBottom) / 2f) - tooltipSize.Height * 0.5f;

            switch (position)
            {
            case TooltipPosition.Top: return(new PointF(avrgX, mostTop - tooltipSize.Height));

            case TooltipPosition.Bottom: return(new PointF(avrgX, mostBottom));

            case TooltipPosition.Left: return(new PointF(mostLeft - tooltipSize.Width, avrgY));

            case TooltipPosition.Right: return(new PointF(mostRight, avrgY));

            case TooltipPosition.Center: return(new PointF(avrgX, avrgY));

            default: throw new NotImplementedException();
            }
        }
示例#12
0
        IEnumerator set_position_in_bounds(TooltipPosition position)
        {
            yield return(null);

            Vector3 pos;

            RectTransformUtility.ScreenPointToWorldPointInRectangle(canvas.transform as RectTransform, Input.mousePosition, canvas.worldCamera, out pos);
            rectT.position = offset_position(pos, position);
            var old_pos = rectT.position;

            ScreenBoundRect.ClampToScreen(rectT, canvas);
        }
    public void ShowTooltip(Transform skillTransform, TooltipPosition pos)
    {
        BaseSkill skill = selectCharacter.value.GetSkillInfo(pos);

        if (skill == null)
        {
            tooltipObject.SetActive(false);
            return;
        }
        tooltipObject.SetActive(true);
        tooltipMessage.text = skill.description;
        tooltipObject.transform.position = skillTransform.position;
        tooltipBackground.sizeDelta      = new Vector2(Mathf.Min(tooltipMessage.preferredWidth + 16, 216), tooltipMessage.preferredHeight + 8);
    }
示例#14
0
    public BaseSkill GetSkillInfo(TooltipPosition pos)
    {
        BaseSkill    skill = null;
        PassiveSkill pSkill;

        switch (pos)
        {
        case TooltipPosition.WEAPON:
            skill = GetWeapon();
            break;

        case TooltipPosition.SUPPORT:
            skill = GetSupport();
            break;

        case TooltipPosition.SKILL:
            skill = GetSkill();
            break;

        case TooltipPosition.TYPEA:
            pSkill = stats.GetPassive(SkillSlot.SLOTA);
            if (pSkill != null)
            {
                skill = pSkill.baseSkill;
            }
            break;

        case TooltipPosition.TYPEB:
            pSkill = stats.GetPassive(SkillSlot.SLOTB);
            if (pSkill != null)
            {
                skill = pSkill.baseSkill;
            }
            break;

        case TooltipPosition.TYPEC:
            pSkill = stats.GetPassive(SkillSlot.SLOTC);
            if (pSkill != null)
            {
                skill = pSkill.baseSkill;
            }
            break;

        default:
            throw new ArgumentOutOfRangeException("pos", pos, null);
        }

        return(skill);
    }
示例#15
0
        Vector3 offset_position(Vector3 position, TooltipPosition offset)
        {
            switch (offset)
            {
            case TooltipPosition.BOTTOM:
                position.y -= rectT.rect.height;
                break;

            case TooltipPosition.TOP:
                position.y += rectT.rect.height + 5;
                break;

            default:
                goto case TooltipPosition.BOTTOM;
            }
            return(position);
        }
示例#16
0
        public static string GetTooltipData(string key, TooltipPosition position = TooltipPosition.RightDown)
        {
            string pos = "";

            switch (position)
            {
            case TooltipPosition.LeftBottom: pos = "lb"; break;

            case TooltipPosition.LeftUp: pos = "lu"; break;

            case TooltipPosition.RightDown: pos = "rb"; break;

            case TooltipPosition.RightUp: pos = "ru"; break;
            }
            return(string.Format(@"<a class='tooltip' href='javascript://'>?<span class='{0}'>{1}</span></a>",
                                 pos,
                                 ResourceManager.GetResource(key)));
        }
示例#17
0
        public static PointF?GetPieTooltipLocation(
            this IEnumerable <TooltipPoint> foundPoints, TooltipPosition position, SizeF tooltipSize)
        {
            var placementContext = new TooltipPlacementContext();
            var found            = false;

            foreach (var foundPoint in foundPoints)
            {
                if (foundPoint.Point.Context.HoverArea == null)
                {
                    continue;
                }
                foundPoint.Point.Context.HoverArea.SuggestTooltipPlacement(placementContext);
                found = true;
                break; // we only care about the first one.
            }

            return(found ? new PointF(placementContext.PieX, placementContext.PieY) : null);
        }
        public unsafe void ShowAt(TooltipPosition location, RectTransform targetRect)
        {
            //IL_0006: Unknown result type (might be due to invalid IL or missing references)
            //IL_000b: Unknown result type (might be due to invalid IL or missing references)
            //IL_000c: Unknown result type (might be due to invalid IL or missing references)
            //IL_0011: Unknown result type (might be due to invalid IL or missing references)
            //IL_0012: Unknown result type (might be due to invalid IL or missing references)
            //IL_0018: Unknown result type (might be due to invalid IL or missing references)
            //IL_0022: Expected O, but got Unknown
            //IL_001d: Unknown result type (might be due to invalid IL or missing references)
            //IL_0022: Unknown result type (might be due to invalid IL or missing references)
            //IL_0024: Unknown result type (might be due to invalid IL or missing references)
            //IL_0029: Unknown result type (might be due to invalid IL or missing references)
            //IL_0031: Unknown result type (might be due to invalid IL or missing references)
            //IL_003d: Unknown result type (might be due to invalid IL or missing references)
            //IL_0049: Unknown result type (might be due to invalid IL or missing references)
            //IL_004e: Unknown result type (might be due to invalid IL or missing references)
            //IL_0052: Unknown result type (might be due to invalid IL or missing references)
            //IL_0057: Unknown result type (might be due to invalid IL or missing references)
            //IL_0058: Unknown result type (might be due to invalid IL or missing references)
            //IL_005d: Unknown result type (might be due to invalid IL or missing references)
            //IL_0062: Unknown result type (might be due to invalid IL or missing references)
            //IL_0063: Unknown result type (might be due to invalid IL or missing references)
            //IL_006c: Unknown result type (might be due to invalid IL or missing references)
            //IL_006e: Unknown result type (might be due to invalid IL or missing references)
            //IL_0073: Unknown result type (might be due to invalid IL or missing references)
            //IL_007c: Unknown result type (might be due to invalid IL or missing references)
            //IL_008d: Unknown result type (might be due to invalid IL or missing references)
            _003F   val        = this.get_transform();
            Vector3 lossyScale = val.get_lossyScale();
            Rect    screenRect = RectTransformToScreenSpace(val.get_root());
            Rect    rect       = RectTransformToScreenSpace(targetRect);

            Enlarge(ref rect, 10f * ((IntPtr)(void *)lossyScale).x, 10f * ((IntPtr)(void *)lossyScale).y);
            Rect rect2 = val.get_rect();

            location = BestLocation(Vector2.Scale(rect2.get_size(), Vector2.op_Implicit(lossyScale)), screenRect, rect, location);
            Vector3 position = GetPosition(rect, location);

            position.z = ((IntPtr)(void *)this.get_transform().get_position()).z;
            ShowAt(location, position);
        }
示例#19
0
        private void UpdateThrottlerUnlocked()
        {
            // before measure every element in the chart
            // we copy the properties that might change while we are updating the chart
            // this call should be thread safe
            // ToDo: ensure it is thread safe...

            viewDrawMargin = chartView.DrawMargin;
            controlSize    = chartView.ControlSize;
            yAxes          = chartView.YAxes.Select(x => x.Copy()).ToArray();
            xAxes          = chartView.XAxes.Select(x => x.Copy()).ToArray();

            measureWorker = new object();
            series        = chartView.Series.Select(series =>
            {
                // a good implementation of ISeries<T>
                // must use the measureWorker to identify
                // if the points are already fetched.

                // this way no matter if the Series.Values collection changes
                // the fetch method will always return the same collection for the
                // current measureWorker instance

                series.Fetch(this);
                return(series);
            }).ToArray();

            legendPosition    = chartView.LegendPosition;
            legendOrientation = chartView.LegendOrientation;
            legend            = chartView.Legend; // ... this is a reference type.. this has no sense

            tooltipPosition        = chartView.TooltipPosition;
            tooltipFindingStrategy = chartView.TooltipFindingStrategy;
            tooltip = chartView.Tooltip; //... no sense again...

            animationsSpeed = chartView.AnimationsSpeed;
            easingFunction  = chartView.EasingFunction;

            Measure();
        }
示例#20
0
        /// <summary>
        /// Returns the left, top coordinate of the tooltip based on the found points, the position and the tooltip size.
        /// </summary>
        /// <param name="foundPoints"></param>
        /// <param name="position"></param>
        /// <param name="tooltipSize"></param>
        /// <returns></returns>
        public static PointF?GetCartesianTooltipLocation(
            this IEnumerable <TooltipPoint> foundPoints, TooltipPosition position, SizeF tooltipSize)
        {
            float count = 0f;

            var placementContext = new TooltipPlacementContext();

            foreach (var point in foundPoints)
            {
                if (point.Point.Context.HoverArea == null)
                {
                    continue;
                }
                point.Point.Context.HoverArea.SuggestTooltipPlacement(placementContext);
                count++;
            }

            if (count == 0)
            {
                return(null);
            }

            var avrgX = ((placementContext.MostRight + placementContext.MostLeft) / 2f) - tooltipSize.Width * 0.5f;
            var avrgY = ((placementContext.MostTop + placementContext.MostBottom) / 2f) - tooltipSize.Height * 0.5f;

            switch (position)
            {
            case TooltipPosition.Top: return(new PointF(avrgX, placementContext.MostTop - tooltipSize.Height));

            case TooltipPosition.Bottom: return(new PointF(avrgX, placementContext.MostBottom));

            case TooltipPosition.Left: return(new PointF(placementContext.MostLeft - tooltipSize.Width, avrgY));

            case TooltipPosition.Right: return(new PointF(placementContext.MostRight, avrgY));

            case TooltipPosition.Center: return(new PointF(avrgX, avrgY));

            default: throw new NotImplementedException();
            }
        }
        public void LoadAttributes(AttributeDictionary attributes)
        {
            if (!started) Start();

#if TEXTMESHPRO_PRESENT
            if (attributes.ContainsKey("tooltipUseTextMeshPro")) ToggleTextMeshPro(attributes["tooltipUseTextMeshPro"].ToBoolean());
#endif

            if (attributes.ContainsKey("tooltipTextColor")) SetTextColor(attributes["tooltipTextColor"].ToColor(xmlLayout));
            if (attributes.ContainsKey("tooltipBackgroundColor")) SetBackgroundColor(attributes["tooltipBackgroundColor"].ToColor(xmlLayout));
            if (attributes.ContainsKey("tooltipBorderColor")) SetBorderColor(attributes["tooltipBorderColor"].ToColor(xmlLayout));

            if (attributes.ContainsKey("tooltipBackgroundImage")) SetBackgroundImage(attributes["tooltipBackgroundImage"].ToSprite());
            if (attributes.ContainsKey("tooltipBorderImage")) SetBorderImage(attributes["tooltipBorderImage"].ToSprite());

            if (attributes.ContainsKey("tooltipFontSize")) SetFontSize(int.Parse(attributes["tooltipfontsize"]));
            if (attributes.ContainsKey("tooltipPadding")) SetTooltipPadding(attributes["tooltipPadding"].ToRectOffset());

            if (attributes.ContainsKey("tooltipTextOutlineColor")) SetTextOutlineColor(attributes["tooltipTextOutlineColor"].ToColor(xmlLayout));
            if (attributes.ContainsKey("tooltipFont")) SetFont(attributes["tooltipFont"]);

            if (attributes.ContainsKey("tooltipPosition")) tooltipPosition = (TooltipPosition)Enum.Parse(typeof(TooltipPosition), attributes["tooltipPosition"]);
            if (attributes.ContainsKey("tooltipFollowMouse")) followMouse = attributes["tooltipFollowMouse"].ToBoolean();
            if (attributes.ContainsKey("tooltipOffset")) offsetDistance = float.Parse(attributes["tooltipOffset"]);

            if (attributes.ContainsKey("tooltipFadeTime")) fadeTime = attributes["tooltipFadeTime"].ToFloat();
            if (attributes.ContainsKey("tooltipDelayTime")) showDelayTime = attributes["tooltipDelayTime"].ToFloat();

            if (attributes.ContainsKey("tooltipWidth"))
            {
                width = attributes["tooltipWidth"].ToFloat();
            }
            else
            {
                width = 0;
            }
        }
        private static Vector2 GetPivotFor(TooltipPosition position)
        {
            //IL_0022: Unknown result type (might be due to invalid IL or missing references)
            //IL_0032: Unknown result type (might be due to invalid IL or missing references)
            //IL_0042: Unknown result type (might be due to invalid IL or missing references)
            //IL_0052: Unknown result type (might be due to invalid IL or missing references)
            switch (position)
            {
            case TooltipPosition.Top:
                return(new Vector2(0.5f, 0f));

            case TooltipPosition.Bottom:
                return(new Vector2(0.5f, 1f));

            case TooltipPosition.Left:
                return(new Vector2(1f, 0.5f));

            case TooltipPosition.Right:
                return(new Vector2(0f, 0.5f));

            default:
                throw new ArgumentOutOfRangeException("position", position, null);
            }
        }
示例#23
0
 public static void SetPosition(BindableObject view, TooltipPosition value)
 {
     view.SetValue(PositionProperty, value);
 }
示例#24
0
 public AvailablePositions(string name, TooltipPosition position)
 {
     Name     = name;
     Position = position;
 }
示例#25
0
 /// <summary>
 /// The position (relative to the target) at which the Tooltip will be shown
 /// </summary>
 /// <param name="position">The position</param>
 /// <returns></returns>
 public virtual TooltipBuilder Position(TooltipPosition position)
 {
     Component.Position = position;
     return this;
 }
示例#26
0
 public void SetTooltip(FightTooltip tooltip, TooltipPosition tooltipPosition)
 {
     m_tooltip         = tooltip;
     m_tooltipPosition = tooltipPosition;
     UpdateAllChildren(instant: true);
 }
 public void SetTooltip(FightTooltip tooltip, TooltipPosition tooltipPosition)
 {
     m_tooltip         = tooltip;
     m_tooltipPosition = tooltipPosition;
 }
        private static TooltipPosition BestLocation(Vector2 tooltipSize, Rect screenRect, Rect targetRect, TooltipPosition position)
        {
            //IL_0002: Unknown result type (might be due to invalid IL or missing references)
            //IL_0003: Unknown result type (might be due to invalid IL or missing references)
            //IL_000a: Unknown result type (might be due to invalid IL or missing references)
            //IL_000b: Unknown result type (might be due to invalid IL or missing references)
            //IL_0012: Unknown result type (might be due to invalid IL or missing references)
            //IL_0013: Unknown result type (might be due to invalid IL or missing references)
            _003C_003Ec__DisplayClass22_0 _003C_003Ec__DisplayClass22_ = default(_003C_003Ec__DisplayClass22_0);

            _003C_003Ec__DisplayClass22_.targetRect  = targetRect;
            _003C_003Ec__DisplayClass22_.tooltipSize = tooltipSize;
            _003C_003Ec__DisplayClass22_.screenRect  = screenRect;
            switch (position)
            {
            case TooltipPosition.Top:
                if (_003CBestLocation_003Eg__InsideTop_007C22_0(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Top);
                }
                if (!_003CBestLocation_003Eg__InsideBottom_007C22_1(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Top);
                }
                return(TooltipPosition.Bottom);

            case TooltipPosition.Bottom:
                if (_003CBestLocation_003Eg__InsideBottom_007C22_1(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Bottom);
                }
                if (!_003CBestLocation_003Eg__InsideTop_007C22_0(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Bottom);
                }
                return(TooltipPosition.Top);

            case TooltipPosition.Left:
                if (_003CBestLocation_003Eg__InsideLeft_007C22_2(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Left);
                }
                if (!_003CBestLocation_003Eg__InsideRight_007C22_3(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Left);
                }
                return(TooltipPosition.Right);

            case TooltipPosition.Right:
                if (_003CBestLocation_003Eg__InsideRight_007C22_3(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Right);
                }
                if (!_003CBestLocation_003Eg__InsideLeft_007C22_2(ref _003C_003Ec__DisplayClass22_))
                {
                    return(TooltipPosition.Right);
                }
                return(TooltipPosition.Left);

            default:
                throw new ArgumentOutOfRangeException("position", position, null);
            }
        }
示例#29
0
    /// <summary>
    /// Handles tooltips for tools
    /// </summary>
    void HandleTooltip(string ToolName, float UIScale, float ToolBaseX, int Position, string Tooltip = "", bool PositionIsY = false, bool IsInput = true)
    {
        // Only assign tooltip if it hasn't been already
        if (Tooltip == "")
        {
            // First get the tooltip
            if (ToolName == "AND")
            {
                Tooltip = Gates.Gate_AND.GateDescription;
            }
            if (ToolName == "OR")
            {
                Tooltip = Gates.Gate_OR.GateDescription;
            }
            if (ToolName == "XOR")
            {
                Tooltip = Gates.Gate_XOR.GateDescription;
            }
            if (ToolName == "NAND")
            {
                Tooltip = Gates.Gate_NAND.GateDescription;
            }
            if (ToolName == "NOR")
            {
                Tooltip = Gates.Gate_NOR.GateDescription;
            }
            if (ToolName == "XNOR")
            {
                Tooltip = Gates.Gate_XNOR.GateDescription;
            }
            if (ToolName == "NOT")
            {
                Tooltip = Gates.Gate_NOT.GateDescription;
            }
            if (ToolName == "Wire")
            {
                Tooltip = "Place wires to connect logic gates, inputs and outputs.";
            }
            if (ToolName == "Ship")
            {
                Tooltip = "Return to the ship's bridge and get back into the action!";
            }
        }

        // Now create a rect for the tooltip position
        Rect TooltipPosition;

        if (!PositionIsY)
        {
            TooltipPosition = new Rect(ToolBaseX + 40f * UIScale + 240f * UIScale * Position, 70f * UIScale, 160f * UIScale, 160f * UIScale);
        }
        else
        {
            if (IsInput)
            {
                TooltipPosition = new Rect(SourceBasePos.x, SourceBasePos.y + 90f * Position * UIScale, 28f * UIScale, 28f * UIScale);
            }
            else
            {
                TooltipPosition = new Rect(OutBasePos.x, OutBasePos.y + 90f * Position * UIScale, 28f * UIScale, 28f * UIScale);
            }
        }

        // Need a different mouse vector, since the y pos is wrong (o.0)
        Vector2 MousePosition = Input.mousePosition;

        MousePosition.y = Screen.height - MousePosition.y;

        // Make use of the general tool style
        ToolMiscStyle.normal.background = TooltipBG;
        ToolMiscStyle.hover.background  = TooltipBG;
        ToolMiscStyle.font             = TooltipFont;
        ToolMiscStyle.normal.textColor = Color.white;
        ToolMiscStyle.hover.textColor  = Color.white;

        // Padding
        int Padding = (int)(4 * UIScale);

        ToolMiscStyle.padding = new RectOffset(Padding, Padding, Padding, Padding);

        // Render the tooltip if mouse is in bounds
        if (TooltipPosition.Contains(MousePosition) && !Input.GetMouseButton(0))
        {
            // Calculate width
            float WidthMult = Tooltip.Length / 40f;

            // Set the base X position
            float TooltipX     = TooltipPosition.x;
            float TooltipWidth = 400f * WidthMult;

            // Make sure it'll be on-screen
            if (TooltipPosition.x + TooltipWidth > Screen.width * 0.9f)
            {
                TooltipX = Screen.width * 0.9f - TooltipWidth;
            }

            GUI.Box(new Rect(TooltipX, TooltipPosition.y, TooltipWidth, 100f), ToolName + "\n\n" + Tooltip, ToolMiscStyle);
        }
    }
示例#30
0
 /// <summary>
 /// The position (relative to the target) at which the Tooltip will be shown
 /// </summary>
 /// <param name="position">The position</param>
 /// <returns></returns>
 public virtual TBuilder Position(TooltipPosition position)
 {
     Component.Position = position;
     return(this as TBuilder);
 }