private IEnumerator CameraMoveRight() { pausable.Pause(); var targetPos = new Vector3(bossStageCenter.transform.position.x, transform.position.y, transform.position.z); var playerTargetPos = mainCamera.ViewportToWorldPoint(new Vector3(1.1f, mainCamera.WorldToViewportPoint(player.transform.position).y, player.transform.position.z - mainCamera.transform.position.z)); var moveSpeed = 20f; while (transform.position != targetPos) { transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime); player.transform.position = Vector3.MoveTowards(player.transform.position, playerTargetPos, moveSpeed / 3f * Time.deltaTime); yield return(null); } wall.SetActive(true); pausable.Resume(); }