增加TooltipAuto自动设置显示类型和触发类型

This commit is contained in:
monitor1394
2023-09-01 08:01:27 +08:00
parent 9deb120446
commit a6ba17ee00
33 changed files with 154 additions and 108 deletions

View File

@@ -0,0 +1,17 @@
using System;
namespace XCharts.Runtime
{
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public sealed class DefaultTooltipAttribute : Attribute
{
public readonly Tooltip.Type type;
public readonly Tooltip.Trigger trigger;
public DefaultTooltipAttribute(Tooltip.Type type, Tooltip.Trigger trigger)
{
this.type = type;
this.trigger = trigger;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a994dc47021bb4031ba6cf23eaf82e7e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -976,6 +976,15 @@ namespace XCharts.Runtime
if (serie == null)
throw new ArgumentNullException("serie is null");
if (serie.GetType().IsDefined(typeof(DefaultTooltipAttribute), false))
{
var attribute1 = serie.GetType().GetAttribute<DefaultTooltipAttribute>();
if (attribute1 != null)
{
serie.context.tooltipTrigger = attribute1.trigger;
serie.context.tooltipType = attribute1.type;
}
}
if (!serie.GetType().IsDefined(typeof(SerieHandlerAttribute), false))
{
Debug.LogError("Serie no Handler:" + serie.GetType());

View File

@@ -146,10 +146,9 @@ namespace XCharts.Runtime
{
RemoveAllChartComponent();
OnBeforeSerialize();
AddChartComponentWhenNoExist<Title>();
AddChartComponentWhenNoExist<Tooltip>();
GetChartComponent<Title>().text = GetType().Name;
EnsureChartComponent<Title>();
EnsureChartComponent<Tooltip>();
EnsureChartComponent<Title>().text = GetType().Name;
if (m_Theme.sharedTheme != null)
m_Theme.sharedTheme.CopyTheme(ThemeType.Default);