优化Animation

This commit is contained in:
monitor1394
2023-09-02 10:43:10 +08:00
parent 71038a9f88
commit eb196a237f
2 changed files with 20 additions and 11 deletions

View File

@@ -73,7 +73,15 @@ namespace XCharts.Runtime
context.pause = false; context.pause = false;
context.end = false; context.end = false;
context.startTime = 0; context.startTime = 0;
context.currProgress = 0;
context.destProgress = 0;
context.totalProgress = 0;
context.sizeProgress = 0;
context.currPointIndex = 0;
context.currPoint = Vector3.zero;
context.destPoint = Vector3.zero;
context.dataCurrProgress.Clear(); context.dataCurrProgress.Clear();
context.dataDestProgress.Clear();
} }
/// <summary> /// <summary>
@@ -84,8 +92,7 @@ namespace XCharts.Runtime
public void Start(bool reset = true) public void Start(bool reset = true)
{ {
if (!enable) return; if (!enable) return;
if (context.start) return; if (context.start)
if (context.pause)
{ {
context.pause = false; context.pause = false;
return; return;
@@ -187,7 +194,9 @@ namespace XCharts.Runtime
if (!context.start) return true; if (!context.start) return true;
if (context.end) return true; if (context.end) return true;
if (context.pause) return false; if (context.pause) return false;
return context.currProgress == context.destProgress; if (!context.init) return false;
return m_Reverse ? context.currProgress <= context.destProgress
: context.currProgress >= context.destProgress;
} }
/// <summary> /// <summary>

View File

@@ -5,14 +5,14 @@ namespace XCharts.Runtime
public class InteractData public class InteractData
{ {
private float m_PreviousValue = 0; private float m_PreviousValue = 0;
private float m_CurrentValue = 0; private float m_CurrentValue = float.NaN;
private float m_TargetValue = 0; private float m_TargetValue = float.NaN;
private Vector3 m_PreviousPosition; private Vector3 m_PreviousPosition = Vector3.one;
private Vector3 m_TargetPosition; private Vector3 m_TargetPosition = Vector3.one;
private Color32 m_PreviousColor; private Color32 m_PreviousColor = ColorUtil.clearColor32;
private Color32 m_TargetColor; private Color32 m_TargetColor = ColorUtil.clearColor32;
private Color32 m_PreviousToColor; private Color32 m_PreviousToColor = ColorUtil.clearColor32;
private Color32 m_TargetToColor; private Color32 m_TargetToColor = ColorUtil.clearColor32;
private float m_UpdateTime = 0; private float m_UpdateTime = 0;
private bool m_UpdateFlag = false; private bool m_UpdateFlag = false;
private bool m_ValueEnable = false; private bool m_ValueEnable = false;