Exemple #1
0
    public IEnumerator RealReset(float resetTime)
    {
        if (resetting)
        {
            yield break;
        }
        resetting      = true;
        resetStartedAt = Time.fixedTime;
        last           = MakeTTFs();
        Debug.Log("Starting reset!");

        var eoff = new WaitForFixedUpdate();

        for (float t = 0.0f; t < resetTime; t += Time.unscaledDeltaTime)
        {
            float it = Mathf.Clamp01(t / resetTime);
            it *= it;

            for (int i = 0; i < initial.Length; i++)
            {
                var newTF = TF.Lerp(last[i].tf, initial[i].tf, it);
                newTF.Apply(initial[i].transform);
            }
            yield return(eoff);
        }

        ResetNow();

        resetting = false;
        yield break;
    }