diff options
author | chai <chaifix@163.com> | 2022-02-18 14:38:20 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-02-18 14:38:20 +0800 |
commit | 63795c45af9ecca5aea36fbe291b18fcd9fb9b7d (patch) | |
tree | 60d811d8a0b1944ab32d24aa28394183b82cadeb /JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs | |
parent | a41c8da0787e0285d4c5b16a5cf5bc3e7a34f521 (diff) |
*rename folder name
Diffstat (limited to 'JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs')
-rw-r--r-- | JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs deleted file mode 100644 index efb96f3..0000000 --- a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs +++ /dev/null @@ -1,58 +0,0 @@ -using UnityEngine; - -[DisallowMultipleComponent] -[DefaultExecutionOrder(ORDER_EXECUTION)] -public class InterpolationFactorController : MonoBehaviour -{ - public const int ORDER_EXECUTION = -1000; - - private static InterpolationFactorController Instance; - private float[] _lastFixedUpdates = new float[2]; - private int _lastIndex; - - public static float Factor { get; private set; } - - private void Awake() - { - if (Instance) - { - Destroy(this); - Debug.LogWarning($"The '{typeof(InterpolationFactorController).Name}' is a singleton!"); - return; - } - - Instance = this; - Factor = 1; - } - - private void Start() - { - _lastFixedUpdates = new float[2] { Time.fixedTime, Time.fixedTime }; - _lastIndex = 0; - } - - private void FixedUpdate() - { - _lastIndex = NextIndex(); - _lastFixedUpdates[_lastIndex] = Time.fixedTime; - } - - private void Update() - { - float lastTime = _lastFixedUpdates[_lastIndex]; - float prevTime = _lastFixedUpdates[NextIndex()]; - - if (lastTime == prevTime) - { - Factor = 1; - return; - } - - Factor = (Time.time - lastTime) / (lastTime - prevTime); - } - - private int NextIndex() - { - return (_lastIndex == 0) ? 1 : 0; - } -} |