public void PassCarpetHiddenSpaceToRoom(CarpetPart carpetPartPrefab) { Vector3Int exitPosition = housePassage.furniturePart.position; Vector3Int carpetdirection = Vector3Int.zero; switch (hiddenSpacePassage.orientation) { case Orientation.Right: carpetdirection = Vector3Int.left; break; case Orientation.Left: carpetdirection = Vector3Int.right; break; case Orientation.Forward: carpetdirection = new Vector3Int(0, 0, -1); break; case Orientation.Backward: carpetdirection = new Vector3Int(0, 0, 1); break; } exitPosition += carpetdirection; CarpetPart newCarpetPart = Instantiate(carpetPartPrefab, exitPosition, carpetPartPrefab.transform.rotation); levelManager.room[exitPosition.x, exitPosition.y, exitPosition.z] = newCarpetPart; newCarpetPart.position = exitPosition; carpet.allCarpetParts.Add(newCarpetPart); StartCoroutine(carpet.MoveCarpetIn(carpetdirection)); housePassage.furniturePart.canMoveFurniture = false; }