public IEnumerator TurnPage(int direction) { turningPage = true; if (direction < 0) { PageIndex--; turningScale = -1f; dotTarget -= 1f; Page.Redraw(CurrentPageBuffer); NextPage.Redraw(NextPageBuffer); while ((turningScale = Calc.Approach(turningScale, 1f, Engine.DeltaTime * 8f)) < 1f) { yield return(null); } } else { NextPage.Redraw(NextPageBuffer); turningScale = 1f; dotTarget += 1f; while ((turningScale = Calc.Approach(turningScale, -1f, Engine.DeltaTime * 8f)) > -1f) { yield return(null); } PageIndex++; Page.Redraw(CurrentPageBuffer); } turningScale = 1f; turningPage = false; yield break; }