void WaitTimePre(bool isEntering, TransitionDataOLD t) { StartCoroutine(Coroutines.WaitTime(t.preDelay, (complete) => { if (complete) { RunTransition(isEntering, t); } })); }
void RunTransition(bool isEntering, TransitionDataOLD t) { _img.SetAlpha(1f); bool triggered = false; float expectedValue = t.curve[t.curve.length - 1].value; StartCoroutine(Coroutines.InterpolateCurve(t.curve, t.timeLength, (value) => { if (fade) { _img.SetAlpha(isEntering ? 1f - value : value); } else { _rt.anchorMin = new Vector2(isEntering ? value : value - 1f, _rt.anchorMin.y); _rt.anchorMax = new Vector2(isEntering ? value + 1: value, _rt.anchorMax.y); } if (!triggered && value == expectedValue) { triggered = true; WaitTimePost(isEntering, t.postDelay); } })); }