diff --git a/Editor/MainComponents/TooltipEditor.cs b/Editor/MainComponents/TooltipEditor.cs index 902d7511..6b8b55cc 100644 --- a/Editor/MainComponents/TooltipEditor.cs +++ b/Editor/MainComponents/TooltipEditor.cs @@ -27,6 +27,7 @@ namespace XCharts.Editor PropertyField("m_PaddingLeftRight"); PropertyField("m_PaddingTopBottom"); PropertyField("m_BackgroundImage"); + PropertyField("m_BackgroundType"); PropertyField("m_BackgroundColor"); PropertyField("m_FixedWidth"); PropertyField("m_FixedHeight"); diff --git a/Runtime/Component/Tooltip/Tooltip.cs b/Runtime/Component/Tooltip/Tooltip.cs index a4434d5a..ca074913 100644 --- a/Runtime/Component/Tooltip/Tooltip.cs +++ b/Runtime/Component/Tooltip/Tooltip.cs @@ -81,6 +81,7 @@ namespace XCharts.Runtime [SerializeField] private bool m_AlwayShowContent = false; [SerializeField] private Vector2 m_Offset = new Vector2(18f, -25f); [SerializeField] private Sprite m_BackgroundImage; + [SerializeField] private Image.Type m_BackgroundType = Image.Type.Simple; [SerializeField] private Color m_BackgroundColor; [SerializeField] private float m_BorderWidth = 2f; [SerializeField] private bool m_FixedXEnable = false; @@ -241,6 +242,11 @@ namespace XCharts.Runtime /// public Sprite backgroundImage { get { return m_BackgroundImage; } set { m_BackgroundImage = value; SetComponentDirty(); } } /// + /// The background type of tooltip. + /// |提示框的背景图片显示类型。 + /// + public Image.Type backgroundType { get { return m_BackgroundType; } set { m_BackgroundType = value; SetComponentDirty(); } } + /// /// The background color of tooltip. /// |提示框的背景颜色。 /// diff --git a/Runtime/Component/Tooltip/TooltipView.cs b/Runtime/Component/Tooltip/TooltipView.cs index d8f417da..de09db1d 100644 --- a/Runtime/Component/Tooltip/TooltipView.cs +++ b/Runtime/Component/Tooltip/TooltipView.cs @@ -218,11 +218,14 @@ namespace XCharts.Runtime view.transform = view.gameObject.transform; view.background = ChartHelper.GetOrAddComponent(view.gameObject); + view.background.sprite = tooltip.backgroundImage; + view.background.type = tooltip.backgroundType; view.background.color = ChartHelper.IsClearColor(tooltip.backgroundColor) ? Color.white : tooltip.backgroundColor; view.border = ChartHelper.GetOrAddComponent(view.gameObject); view.border.enabled = tooltip.borderWidth > 0; + view.border.useGraphicAlpha = false; view.border.effectColor = tooltip.borderColor; view.border.effectDistance = new Vector2(tooltip.borderWidth, -tooltip.borderWidth);