mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-24 01:40:06 +00:00
增加BaseChart.AnimationFadeOut()渐入动画,重构动画系统
This commit is contained in:
177
Assets/XChartsDemo/Runtime/Demo_Animation.cs
Normal file
177
Assets/XChartsDemo/Runtime/Demo_Animation.cs
Normal file
@@ -0,0 +1,177 @@
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.Events;
|
||||
using XCharts;
|
||||
|
||||
namespace XChartsDemo
|
||||
{
|
||||
[DisallowMultipleComponent]
|
||||
[ExecuteInEditMode]
|
||||
public class Demo_Animation : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private int m_FadeInDuration = 1000;
|
||||
[SerializeField] private int m_FadeOutDuration = 1000;
|
||||
[SerializeField] private int m_DataChangeDuration = 500;
|
||||
void Awake()
|
||||
{
|
||||
InitCharts();
|
||||
TryInitButton("buttons/btnFadeIn", AnimationFadeIn);
|
||||
TryInitButton("buttons/btnFadeOut", AnimationFadeOut);
|
||||
TryInitButton("buttons/btnDataAdd", AnimationDataAdd);
|
||||
TryInitButton("buttons/btnDataChange", AnimationDataChange);
|
||||
TryInitButton("buttons/btnPause", AnimationPause);
|
||||
TryInitButton("buttons/btnResume", AnimationResume);
|
||||
TryInitButton("buttons/btnReset", AnimationReset);
|
||||
}
|
||||
|
||||
void InitCharts()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
foreach (var serie in chart.series.list)
|
||||
{
|
||||
serie.animation.fadeInDuration = m_FadeInDuration;
|
||||
serie.animation.fadeOutDuration = m_FadeOutDuration;
|
||||
serie.animation.dataChangeDuration = m_DataChangeDuration;
|
||||
}
|
||||
}
|
||||
SetInputField("settings/fadeIn/InputField", m_FadeInDuration, OnFadeInDurationChanged);
|
||||
SetInputField("settings/fadeOut/InputField", m_FadeOutDuration, OnFadeOutDurationChanged);
|
||||
SetInputField("settings/dataChange/InputField", m_DataChangeDuration, OnDataChangeDurationChanged);
|
||||
}
|
||||
|
||||
void SetInputField(string path, int value, UnityAction<string> act)
|
||||
{
|
||||
var input = transform.Find(path).gameObject.GetComponent<InputField>();
|
||||
input.onEndEdit.AddListener(act);
|
||||
input.text = value.ToString();
|
||||
}
|
||||
|
||||
Button TryInitButton(string name, UnityAction act)
|
||||
{
|
||||
var trans = transform.Find(name);
|
||||
if (trans)
|
||||
{
|
||||
var btn = trans.gameObject.GetComponent<Button>();
|
||||
btn.onClick.AddListener(act);
|
||||
return btn;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationFadeIn()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
chart.AnimationFadeIn();
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationFadeOut()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
chart.AnimationFadeOut();
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationDataAdd()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
chart.AnimationFadeOut();
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationDataChange()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
var dataCount = chart.series.list[0].dataCount;
|
||||
var index = UnityEngine.Random.Range(0, dataCount);
|
||||
chart.UpdateData(0, index, UnityEngine.Random.Range(1, 100));
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationPause()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
chart.AnimationPause();
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationResume()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
chart.AnimationResume();
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationReset()
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
chart.AnimationReset();
|
||||
}
|
||||
}
|
||||
|
||||
void OnFadeInDurationChanged(string content)
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
m_FadeInDuration = int.Parse(content);
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
foreach (var serie in chart.series.list)
|
||||
{
|
||||
serie.animation.fadeInDuration = m_FadeInDuration;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OnFadeOutDurationChanged(string content)
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
m_FadeOutDuration = int.Parse(content);
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
foreach (var serie in chart.series.list)
|
||||
{
|
||||
serie.animation.fadeOutDuration = m_FadeOutDuration;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OnDataChangeDurationChanged(string content)
|
||||
{
|
||||
var charts = transform.GetComponentsInChildren<BaseChart>();
|
||||
m_DataChangeDuration = int.Parse(content);
|
||||
foreach (var chart in charts)
|
||||
{
|
||||
foreach (var serie in chart.series.list)
|
||||
{
|
||||
serie.animation.dataChangeDuration = m_DataChangeDuration;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user