95 lines
4.0 KiB
C#
95 lines
4.0 KiB
C#
using UnityEngine;
|
|
|
|
public class ObsessionTester : MonoBehaviour
|
|
{
|
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
// 🧪 이 스크립트는 테스트용입니다!
|
|
// 프리팹이나 몬스터가 없어도 키보드로 XP 시스템 전체 흐름을 테스트할 수 있어요.
|
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
private void Start()
|
|
{
|
|
Debug.Log("========================================");
|
|
Debug.Log("🧪 [테스트 모드 - 최신 룰 적용] 키보드 조작법:");
|
|
Debug.Log(" [1] 몹 처치 (+5 런XP)");
|
|
Debug.Log(" [2] 방 클리어 (+20 런XP & 클리어 횟수 증가)");
|
|
Debug.Log(" [3] 무피격 방 보너스 (+10 런XP)");
|
|
Debug.Log(" [4] 보스 처치 (+100 런XP)");
|
|
Debug.Log(" [5] 💀 사망 시뮬레이션 (사망 보너스 + 영구 XP 전환)");
|
|
Debug.Log(" [6] 📊 현재 상태 확인");
|
|
Debug.Log(" [0] 🗑️ 저장 데이터 초기화");
|
|
Debug.Log("========================================");
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
// ObsessionSystem이 없으면 테스트 불가
|
|
if (ObsessionSystem.instance == null)
|
|
{
|
|
if (Input.anyKeyDown)
|
|
{
|
|
Debug.LogError("❌ ObsessionSystem이 씬에 없어요! GameManager에 추가하세요.");
|
|
}
|
|
return;
|
|
}
|
|
|
|
// [1] 몹 1마리 처치 시뮬레이션 (+5 XP)
|
|
if (Input.GetKeyDown(KeyCode.Alpha1))
|
|
{
|
|
ObsessionSystem.instance.AddRunXP(5);
|
|
Debug.Log("⚔️ [테스트] 몹 처치! +5 런 XP");
|
|
}
|
|
|
|
// [2] 방 클리어 시뮬레이션
|
|
if (Input.GetKeyDown(KeyCode.Alpha2))
|
|
{
|
|
ObsessionSystem.instance.NotifyRoomCleared();
|
|
ObsessionSystem.instance.AddStageClearXP(20);
|
|
Debug.Log("🚪 [테스트] 방 클리어! +20 런 XP");
|
|
}
|
|
|
|
// [3] 무피격 방 클리어 보너스 시뮬레이션
|
|
if (Input.GetKeyDown(KeyCode.Alpha3))
|
|
{
|
|
ObsessionSystem.instance.AddPerfectClearXP(10);
|
|
Debug.Log("🛡️ [테스트] 무피격 보너스! +10 런 XP");
|
|
}
|
|
|
|
// [4] 보스 처치 시뮬레이션
|
|
if (Input.GetKeyDown(KeyCode.Alpha4))
|
|
{
|
|
ObsessionSystem.instance.AddBossKillXP(100);
|
|
Debug.Log("👑 [테스트] 보스 처치! +100 런 XP");
|
|
}
|
|
|
|
// [5] 사망 시뮬레이션
|
|
if (Input.GetKeyDown(KeyCode.Alpha5))
|
|
{
|
|
Debug.Log("💀 [테스트] 사망! 런 XP를 영구 XP로 전환합니다...");
|
|
ObsessionSystem.instance.OnDeathConvertXP();
|
|
}
|
|
|
|
// [6] 상태 확인 (오류 발생 지점 수정)
|
|
if (Input.GetKeyDown(KeyCode.Alpha6))
|
|
{
|
|
Debug.Log("========================================");
|
|
Debug.Log("📊 [현재 상태]");
|
|
|
|
// [수정] 보간 문자열($) 내부의 변수 출력 방식을 안전하게 재작성했습니다.
|
|
// 기존 코드의 특수 공백이나 인식 불가능한 문자를 제거했습니다.
|
|
Debug.Log($"이번 런 XP: {ObsessionSystem.instance.GetCurrentRunXP()}");
|
|
Debug.Log($"이번 런 방 클리어 수: {ObsessionSystem.instance.GetClearedRoomsThisRun()} 개");
|
|
Debug.Log($"계정 영구 XP: {ObsessionSystem.instance.GetCurrentXP()}");
|
|
Debug.Log($"계정 레벨: {ObsessionSystem.instance.GetCurrentLevel()}");
|
|
|
|
Debug.Log("========================================");
|
|
}
|
|
|
|
// [0] 초기화
|
|
if (Input.GetKeyDown(KeyCode.Alpha0))
|
|
{
|
|
PlayerPrefs.DeleteAll();
|
|
Debug.Log("🗑️ [테스트] 모든 저장 데이터 삭제! (정상 적용을 위해 게임을 껐다 켜주세요)");
|
|
}
|
|
}
|
|
} |