예제 #1
0
        /// <summary>This returns a smooth point between the previous and current screen position based on a 0..1 progress value.</summary>
        public Vector2 GetSmoothScreenPosition(float t)
        {
            if (Snapshots.Count > 0 && Set == true)
            {
                var d = Snapshots[Mathf.Max(0, Snapshots.Count - 4)].ScreenPosition;
                var c = Snapshots[Mathf.Max(0, Snapshots.Count - 3)].ScreenPosition;
                var b = Snapshots[Mathf.Max(0, Snapshots.Count - 2)].ScreenPosition;
                var a = Snapshots[Mathf.Max(0, Snapshots.Count - 1)].ScreenPosition;

                return(LeanHelper.Hermite(d, c, b, a, t));
            }

            return(Vector2.LerpUnclamped(LastScreenPosition, ScreenPosition, t));
        }