using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; public class RoomRouteDebugTester : MonoBehaviour { private List currentChoices = new List(); private void Update() { if (RoomRouteManager.Instance == null) { return; } if (Keyboard.current == null) { return; } // C키: 방문 안 한 방 중 랜덤 후보 뽑기 if (Keyboard.current.cKey.wasPressedThisFrame) { currentChoices = RoomRouteManager.Instance.GetRandomNextRooms(); Debug.Log($"현재 선택 가능한 후보 개수: {currentChoices.Count}"); for (int i = 0; i < currentChoices.Count; i++) { Debug.Log($"{i + 1}번 선택지 → 방 번호: {currentChoices[i].roomNumber}, 씬 이름: {currentChoices[i].sceneName}"); } } // 1키: 첫 번째 후보 선택 if (Keyboard.current.digit1Key.wasPressedThisFrame) { MoveToChoice(0); } // 2키: 두 번째 후보 선택 if (Keyboard.current.digit2Key.wasPressedThisFrame) { MoveToChoice(1); } // T키: 방문 상태 확인 if (Keyboard.current.tKey.wasPressedThisFrame) { Debug.Log($"방문한 방 개수: {RoomRouteManager.Instance.VisitedRoomCount} / {RoomRouteManager.Instance.TotalRoomCount}"); Debug.Log($"현재 방 번호: {RoomRouteManager.Instance.CurrentRoomNumber}"); } // X키: 테스트용 방문 기록 초기화 if (Keyboard.current.xKey.wasPressedThisFrame) { Debug.Log("방문 기록 초기화"); currentChoices.Clear(); RoomRouteManager.Instance.ResetVisitedRooms(); } // F키: 모든 방 방문 후 마지막 씬 이동 테스트 if (Keyboard.current.fKey.wasPressedThisFrame) { Debug.Log("마지막 씬 이동 테스트"); RoomRouteManager.Instance.MoveToFinalScene(); } } private void MoveToChoice(int index) { if (currentChoices == null || currentChoices.Count == 0) { Debug.LogWarning("먼저 C키를 눌러 랜덤 후보를 뽑아야 합니다."); return; } if (index < 0 || index >= currentChoices.Count) { Debug.LogWarning("해당 번호의 선택지가 없습니다."); return; } int targetRoomNumber = currentChoices[index].roomNumber; Debug.Log($"{index + 1}번 선택지 선택 → 방 {targetRoomNumber} 이동"); currentChoices.Clear(); RoomRouteManager.Instance.MoveToRoom(targetRoomNumber); } }