/******************************************/ /* */ /* 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(); 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 act) { var input = transform.Find(path).gameObject.GetComponent(); 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