diff --git a/Documentation~/en/api.md b/Documentation~/en/api.md
index 74f9845f..ad5193e2 100644
--- a/Documentation~/en/api.md
+++ b/Documentation~/en/api.md
@@ -7,6 +7,7 @@ slug: /api
## All Class
+- [AnimationInfoContext](#animationinfocontext)
- [AnimationStyleHelper](#animationstylehelper)
- [AxisContext](#axiscontext)
- [AxisHandler<T>](#axishandlert)
@@ -111,6 +112,10 @@ slug: /api
- [XCThemeMgr](#xcthememgr)
+## AnimationInfoContext
+
+> XCharts.Runtime.AnimationInfoContext
+
## AnimationStyleHelper
> XCharts.Runtime.AnimationStyleHelper
@@ -119,7 +124,7 @@ slug: /api
|--|--|--|
|CheckDataAnimation()||public static float CheckDataAnimation(BaseChart chart, Serie serie, int dataIndex, float destProgress, float startPorgress = 0)|
|GetAnimationPosition()||public static bool GetAnimationPosition(AnimationStyle animation, bool isY, Vector3 lp, Vector3 cp, float progress, ref Vector3 ip)|
-|UpdateAnimationType()||public static void UpdateAnimationType(AnimationStyle animation, AnimationType defaultType)|
+|UpdateAnimationType()||public static void UpdateAnimationType(AnimationStyle animation, AnimationType defaultType, bool enableSerieDataAnimation)|
|UpdateSerieAnimation()||public static void UpdateSerieAnimation(Serie serie)|
## AxisContext
@@ -206,12 +211,14 @@ slug: /api
|AddXAxisIcon()||public void AddXAxisIcon(Sprite icon, int xAxisIndex = 0)
Add an icon to xAxis. |
|AddYAxisData()||public void AddYAxisData(string category, int yAxisIndex = 0)
Add a category data to yAxis. |
|AddYAxisIcon()||public void AddYAxisIcon(Sprite icon, int yAxisIndex = 0)
Add an icon to yAxis. |
-|AnimationEnable()||public void AnimationEnable(bool flag)
Whether series animation enabel. |
-|AnimationFadeIn()||public void AnimationFadeIn(bool reset = true)
fadeIn animation. |
-|AnimationFadeOut()||public void AnimationFadeOut()
fadeIn animation. |
-|AnimationPause()||public void AnimationPause()
Pause animation. |
-|AnimationReset()||public void AnimationReset()
Reset animation. |
-|AnimationResume()||public void AnimationResume()
Stop play animation. |
+|AnimationEnable()||public void AnimationEnable(bool flag)
Whether enable serie animations. |
+|AnimationFadein()||public void AnimationFadein(bool reset = true)
Start all serie fadein animations. |
+|AnimationFadeIn()||public void AnimationFadeIn(bool reset = true)|
+|AnimationFadeout()||public void AnimationFadeout()
Start all serie fadeout animations. |
+|AnimationFadeOut()||public void AnimationFadeOut()|
+|AnimationPause()||public void AnimationPause()
Pause all animations. |
+|AnimationReset()||public void AnimationReset()
Reset all animations. |
+|AnimationResume()||public void AnimationResume()
Resume all animations. |
|CanAddChartComponent()||public bool CanAddChartComponent(Type type)|
|CanAddSerie()||public bool CanAddSerie(Type type)|
|CanAddSerie<T>()||public bool CanAddSerie<T>() where T : Serie|
@@ -599,6 +606,7 @@ slug: /api
|public method|since|description|
|--|--|--|
|DefaultAnimationAttribute()||public DefaultAnimationAttribute(AnimationType handler)|
+|DefaultAnimationAttribute()||public DefaultAnimationAttribute(AnimationType handler, bool enableSerieDataAddedAnimation)|
## DefineSymbolsUtil
diff --git a/Documentation~/en/configuration.md b/Documentation~/en/configuration.md
index 540b4f71..6542745b 100644
--- a/Documentation~/en/configuration.md
+++ b/Documentation~/en/configuration.md
@@ -166,6 +166,11 @@ import APITable from '@site/src/components/APITable';
## Other
+- [AnimationAddition](#animationaddition)
+- [AnimationChange](#animationchange)
+- [AnimationFadeIn](#animationfadein)
+- [AnimationFadeout](#animationfadeout)
+- [AnimationInfo](#animationinfo)
- [BaseSerie](#baseserie)
- [ChartText](#charttext)
- [ChildComponent](#childcomponent)
@@ -209,11 +214,67 @@ Angle axis of Polar Coordinate.
> XCharts.Runtime.AngleAxisTheme : [BaseAxisTheme](#baseaxistheme)
+## AnimationAddition
+
+> XCharts.Runtime.AnimationAddition : [AnimationInfo](#animationinfo)
+
+> Since `v3.8.0`
+
+Data addition animation.
+
+## AnimationChange
+
+> XCharts.Runtime.AnimationChange : [AnimationInfo](#animationinfo)
+
+> Since `v3.8.0`
+
+Data change animation.
+
+## AnimationFadeIn
+
+> XCharts.Runtime.AnimationFadeIn : [AnimationInfo](#animationinfo)
+
+> Since `v3.8.0`
+
+Fade in animation.
+
+## AnimationFadeout
+
+> XCharts.Runtime.AnimationFadeout : [AnimationInfo](#animationinfo)
+
+> Since `v3.8.0`
+
+Fade out animation.
+
+## AnimationInfo
+
+> XCharts.Runtime.AnimationInfo / Subclasses: [AnimationFadeIn](#animationfadein), [AnimationFadeout](#animationfadeout), [AnimationChange](#animationchange), [AnimationAddition](#animationaddition)
+
+> Since `v3.8.0`
+
+the animation info.
+
+```mdx-code-block
+
+```
+
+
+|field|default|since|comment|
+|--|--|--|--|
+|enable|true|v3.8.0|whether enable animation.
+|reverse|false|v3.8.0|whether enable reverse animation.
+|delay|0|v3.8.0|the delay time before animation start.
+|duration|1000|v3.8.0|the duration of animation.
+
+```mdx-code-block
+
+```
+
## AnimationStyle
> XCharts.Runtime.AnimationStyle : [ChildComponent](#childcomponent)
-the animation of serie.
+the animation of serie. support animation type: fadeIn, fadeOut, change, addition.
```mdx-code-block
@@ -224,18 +285,13 @@ the animation of serie.
|--|--|--|--|
|enable|true||Whether to enable animation.
|type|||The type of animation.
`AnimationType`:
- `Default`: he default. An animation playback mode will be selected according to the actual situation.
- `LeftToRight`: Play the animation from left to right.
- `BottomToTop`: Play the animation from bottom to top.
- `InsideOut`: Play animations from the inside out.
- `AlongPath`: Play the animation along the path.
- `Clockwise`: Play the animation clockwise.
|
-|easting|||Easing method used for the first animation.
`AnimationEasing`:
- `Linear`:
|
+|easting|||
`AnimationEasing`:
- `Linear`:
|
|threshold|2000||Whether to set graphic number threshold to animation. Animation will be disabled when graphic number is larger than threshold.
-|fadeInDuration|1000||The milliseconds duration of the fadeIn animation.
-|fadeInDelay|0||The milliseconds delay before updating the first animation.
-|fadeOutDuration|1000f||The milliseconds duration of the fadeOut animation.
-|fadeOutDelay|0||渐出动画延时(毫秒)。如果要设置单个数据项的延时,可以用代码定制:customFadeOutDelay。
-|dataChangeEnable|true||是否开启数据变更动画。
-|dataChangeDuration|500||The milliseconds duration of the data change animation.
-|actualDuration|||The milliseconds actual duration of the first animation.
|unscaledTime||v3.4.0|Animation updates independently of Time.timeScale.
-|dataAddEnable|true|v3.8.0|Whether to enable data add animation.
-|dataAddDuration|500|v3.8.0|The milliseconds duration of the data add animation.
+|fadein||v3.8.0|Fade in animation configuration. [AnimationFadeIn](#animationfadein)|
+|fadeout||v3.8.0|Fade out animation configuration. [AnimationFadeout](#animationfadeout)|
+|change||v3.8.0|Update data animation configuration. [AnimationChange](#animationchange)|
+|addition||v3.8.0|Add data animation configuration. [AnimationAddition](#animationaddition)|
```mdx-code-block
diff --git a/Documentation~/zh/api.md b/Documentation~/zh/api.md
index 78faadc1..60307783 100644
--- a/Documentation~/zh/api.md
+++ b/Documentation~/zh/api.md
@@ -7,6 +7,7 @@ slug: /api
## 所有类
+- [AnimationInfoContext](#animationinfocontext)
- [AnimationStyleHelper](#animationstylehelper)
- [AxisContext](#axiscontext)
- [AxisHandler<T>](#axishandlert)
@@ -111,6 +112,10 @@ slug: /api
- [XCThemeMgr](#xcthememgr)
+## AnimationInfoContext
+
+> XCharts.Runtime.AnimationInfoContext
+
## AnimationStyleHelper
> XCharts.Runtime.AnimationStyleHelper
@@ -119,7 +124,7 @@ slug: /api
|--|--|--|
|CheckDataAnimation()||public static float CheckDataAnimation(BaseChart chart, Serie serie, int dataIndex, float destProgress, float startPorgress = 0)|
|GetAnimationPosition()||public static bool GetAnimationPosition(AnimationStyle animation, bool isY, Vector3 lp, Vector3 cp, float progress, ref Vector3 ip)|
-|UpdateAnimationType()||public static void UpdateAnimationType(AnimationStyle animation, AnimationType defaultType)|
+|UpdateAnimationType()||public static void UpdateAnimationType(AnimationStyle animation, AnimationType defaultType, bool enableSerieDataAnimation)|
|UpdateSerieAnimation()||public static void UpdateSerieAnimation(Serie serie)|
## AxisContext
@@ -206,12 +211,14 @@ slug: /api
|AddXAxisIcon()||public void AddXAxisIcon(Sprite icon, int xAxisIndex = 0)
添加一个图标到指定的x轴。 |
|AddYAxisData()||public void AddYAxisData(string category, int yAxisIndex = 0)
添加一个类目数据到指定的y轴。 |
|AddYAxisIcon()||public void AddYAxisIcon(Sprite icon, int yAxisIndex = 0)
添加一个图标到指定的y轴。 |
-|AnimationEnable()||public void AnimationEnable(bool flag)
启用或关闭起始动画。 |
-|AnimationFadeIn()||public void AnimationFadeIn(bool reset = true)
开始渐入动画。 |
-|AnimationFadeOut()||public void AnimationFadeOut()
开始渐出动画。 |
-|AnimationPause()||public void AnimationPause()
暂停动画。 |
-|AnimationReset()||public void AnimationReset()
重置动画。 |
-|AnimationResume()||public void AnimationResume()
继续动画。 |
+|AnimationEnable()||public void AnimationEnable(bool flag)
是否启用Serie动画。 |
+|AnimationFadein()||public void AnimationFadein(bool reset = true)
开始所有Serie的渐入动画。 |
+|AnimationFadeIn()||public void AnimationFadeIn(bool reset = true)|
+|AnimationFadeout()||public void AnimationFadeout()
开始所有Serie的渐出动画。 |
+|AnimationFadeOut()||public void AnimationFadeOut()|
+|AnimationPause()||public void AnimationPause()
暂停所有Serie的动画。 |
+|AnimationReset()||public void AnimationReset()
重置所有Serie的动画。 |
+|AnimationResume()||public void AnimationResume()
继续所有Serie的动画。 |
|CanAddChartComponent()||public bool CanAddChartComponent(Type type)|
|CanAddSerie()||public bool CanAddSerie(Type type)|
|CanAddSerie<T>()||public bool CanAddSerie<T>() where T : Serie|
@@ -599,6 +606,7 @@ slug: /api
|public method|since|description|
|--|--|--|
|DefaultAnimationAttribute()||public DefaultAnimationAttribute(AnimationType handler)|
+|DefaultAnimationAttribute()||public DefaultAnimationAttribute(AnimationType handler, bool enableSerieDataAddedAnimation)|
## DefineSymbolsUtil
diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md
index 91fe4017..529bd681 100644
--- a/Documentation~/zh/changelog.md
+++ b/Documentation~/zh/changelog.md
@@ -7,6 +7,7 @@ slug: /changelog
[master](#master)
[v3.7.0](#v370)
+[v3.6.0](#v360)
[v3.5.0](#v350)
[v3.4.0](#v340)
[v3.3.0](#v330)
@@ -72,7 +73,7 @@ slug: /changelog
日志详情:
-* (2023.07.03) 增加`Animation`的添加动画支持
+* (2023.07.11) 重构`Animation`动画系统,增加`Addition`新增动画支持
* (2023.06.30) 增加`PolarCood`的`indicatorLabelOffset`设置指示文本偏移的支持
* (2023.06.30) 修复`Axis`的`IndicatorLabel`的背景颜色可能不正常的问题
* (2023.06.30) 增加`Axis`的`IndicatorLabel`可自定义`color`的支持
diff --git a/Documentation~/zh/configuration.md b/Documentation~/zh/configuration.md
index a930786c..04f683a5 100644
--- a/Documentation~/zh/configuration.md
+++ b/Documentation~/zh/configuration.md
@@ -166,6 +166,11 @@ import APITable from '@site/src/components/APITable';
## Other 其他
+- [AnimationAddition](#animationaddition)
+- [AnimationChange](#animationchange)
+- [AnimationFadeIn](#animationfadein)
+- [AnimationFadeout](#animationfadeout)
+- [AnimationInfo](#animationinfo)
- [BaseSerie](#baseserie)
- [ChartText](#charttext)
- [ChildComponent](#childcomponent)
@@ -209,11 +214,67 @@ import APITable from '@site/src/components/APITable';
> XCharts.Runtime.AngleAxisTheme : [BaseAxisTheme](#baseaxistheme)
+## AnimationAddition
+
+> XCharts.Runtime.AnimationAddition : [AnimationInfo](#animationinfo)
+
+> 从 `v3.8.0` 开始支持
+
+数据新增动画。
+
+## AnimationChange
+
+> XCharts.Runtime.AnimationChange : [AnimationInfo](#animationinfo)
+
+> 从 `v3.8.0` 开始支持
+
+数据变更动画。
+
+## AnimationFadeIn
+
+> XCharts.Runtime.AnimationFadeIn : [AnimationInfo](#animationinfo)
+
+> 从 `v3.8.0` 开始支持
+
+淡入动画。
+
+## AnimationFadeout
+
+> XCharts.Runtime.AnimationFadeout : [AnimationInfo](#animationinfo)
+
+> 从 `v3.8.0` 开始支持
+
+淡出动画。
+
+## AnimationInfo
+
+> XCharts.Runtime.AnimationInfo / Subclasses: [AnimationFadeIn](#animationfadein), [AnimationFadeout](#animationfadeout), [AnimationChange](#animationchange), [AnimationAddition](#animationaddition)
+
+> 从 `v3.8.0` 开始支持
+
+动画配置参数。
+
+```mdx-code-block
+
+```
+
+
+|field|default|since|comment|
+|--|--|--|--|
+|enable|true|v3.8.0|是否开启动画效果。
+|reverse|false|v3.8.0|是否开启反向动画效果。
+|delay|0|v3.8.0|动画开始前的延迟时间。
+|duration|1000|v3.8.0|动画的时长。
+
+```mdx-code-block
+
+```
+
## AnimationStyle
> XCharts.Runtime.AnimationStyle : [ChildComponent](#childcomponent)
-动画表现。
+动画表现。支持配置四种动画表现:FadeIn(渐入动画),FadeOut(渐出动画),Change(变更动画),Addition(新增动画)。
```mdx-code-block
@@ -224,18 +285,13 @@ import APITable from '@site/src/components/APITable';
|--|--|--|--|
|enable|true||是否开启动画效果。
|type|||动画类型。
`AnimationType`:
- `Default`: 默认。内部会根据实际情况选择一种动画播放方式。
- `LeftToRight`: 从左往右播放动画。
- `BottomToTop`: 从下往上播放动画。
- `InsideOut`: 由内到外播放动画。
- `AlongPath`: 沿着路径播放动画。当折线图从左到右无序或有折返时,可以使用该模式。
- `Clockwise`: 顺时针播放动画。
|
-|easting|||动画的缓动效果。
`AnimationEasing`:
- `Linear`:
|
+|easting|||
`AnimationEasing`:
- `Linear`:
|
|threshold|2000||是否开启动画的阈值,当单个系列显示的图形数量大于这个阈值时会关闭动画。
-|fadeInDuration|1000||设定的渐入动画时长(毫秒)。如果要设置单个数据项的渐入时长,可以用代码定制:customFadeInDuration。
-|fadeInDelay|0||渐入动画延时(毫秒)。如果要设置单个数据项的延时,可以用代码定制:customFadeInDelay。
-|fadeOutDuration|1000f||设定的渐出动画时长(毫秒)。如果要设置单个数据项的渐出时长,可以用代码定制:customFadeOutDuration。
-|fadeOutDelay|0||渐出动画延时(毫秒)。如果要设置单个数据项的延时,可以用代码定制:customFadeOutDelay。
-|dataChangeEnable|true||是否开启数据变更动画。
-|dataChangeDuration|500||数据变更的动画时长(毫秒)。
-|actualDuration|||实际的动画时长(毫秒)。
|unscaledTime||v3.4.0|动画是否受TimeScaled的影响。默认为 false 受TimeScaled的影响。
-|dataAddEnable|true|v3.8.0|是否开启数据增加动画。
-|dataAddDuration|500|v3.8.0|数据增加的动画时长(毫秒)。
+|fadein||v3.8.0|渐入动画配置。 [AnimationFadeIn](#animationfadein)|
+|fadeout||v3.8.0|渐出动画配置。 [AnimationFadeout](#animationfadeout)|
+|change||v3.8.0|数据变更动画配置。 [AnimationChange](#animationchange)|
+|addition||v3.8.0|数据新增动画配置。 [AnimationAddition](#animationaddition)|
```mdx-code-block
diff --git a/Runtime/Internal/XChartsMgr.cs b/Runtime/Internal/XChartsMgr.cs
index 5a03cfc5..c19090a0 100644
--- a/Runtime/Internal/XChartsMgr.cs
+++ b/Runtime/Internal/XChartsMgr.cs
@@ -21,8 +21,8 @@ namespace XCharts.Runtime
[ExecuteInEditMode]
public static class XChartsMgr
{
- public static readonly string version = "3.7.0";
- public static readonly int versionDate = 20230601;
+ public static readonly string version = "3.8.0";
+ public static readonly int versionDate = 20230801;
public static string fullVersion { get { return version + "-" + versionDate; } }
internal static List chartList = new List();
diff --git a/package.json b/package.json
index 14c8d4b9..ab34ba8c 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,9 @@
{
"name": "com.monitor1394.xcharts",
"displayName": "XCharts",
- "version": "3.7.0",
- "date": "20230601",
- "checkdate": "20230601",
+ "version": "3.8.0",
+ "date": "20230801",
+ "checkdate": "20230801",
"desc": "如果 XCharts 对您有帮助,希望您能在 Github 上点 Star 支持,非常感谢!",
"unity": "2018.3",
"description": "A charting and data visualization library for Unity.",