/*pauses the game time and moves the camera * to the correct adjacent room*/ private void ChangeRooms() { Vector3 newPlayerPos = new Vector3(); float camX = cameraTransform.position.x; float camY = cameraTransform.position.y; float camZ = cameraTransform.position.z; float playerX = player.transform.position.x; float playerY = player.transform.position.y; float playerZ = player.transform.position.z; /* depending on which way the door is facing, * we set target positions for the move*/ switch (doorType) { case DoorType.up: newPos = new Vector3(camX, camY + gridSize.y, camZ); newPlayerPos = new Vector3(playerX, playerY + playerDisplacement, playerZ); break; case DoorType.down: newPos = new Vector3(camX, camY - gridSize.y, camZ); newPlayerPos = new Vector3(playerX, playerY - playerDisplacement, playerZ); break; case DoorType.left: newPos = new Vector3(camX - gridSize.x, camY, camZ); newPlayerPos = new Vector3(playerX - playerDisplacement, playerY, playerZ); break; case DoorType.right: newPos = new Vector3(camX + gridSize.x, camY, camZ); newPlayerPos = new Vector3(playerX + playerDisplacement, playerY, playerZ); break; default: break; } player.transform.position = newPlayerPos; cameraScript.ChangeRooms(newPos); }