private IEnumerator MoveSelectorToTile(RuneBehaviour tile) { for (int i = 0; i < 3; i++) { InputManager.Instance.PushActiveContext("CinematicEvent", i); } // We don't want the color to lerp back to white while we are moving to the rune tile.GetComponent <RuneBehaviour>().enabled = false; tile.GetComponent <CapsuleCollider>().enabled = false; tile.GetComponent <SpriteRenderer>().sortingOrder = 100; tile.symbol.sortingOrder = 101; EnableKinematics(true); Transform trans = PhysicsContainer.GetComponent <Transform>(); Vector3 startPos = trans.position; Vector3 endPos = startPos + tile.GetComponent <Transform>().position - Selector.GetComponent <Transform>().position;; endPos.y = startPos.y; float ratio = 0f; while (ratio < 1f) { ratio += Time.deltaTime / 0.25f; trans.position = Vector3.Lerp(startPos, endPos, ratio); yield return(null); } StartCoroutine(LiftTileInTheAir(tile)); }