Projext/Assets/Scripts/Obsession/ObsessionTester.cs

98 lines
5.1 KiB
C#
Raw Normal View History

2026-02-10 08:04:33 +00:00
using UnityEngine;
public class ObsessionTester : MonoBehaviour
{
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 🧪 이 스크립트는 테스트용입니다!
// 키보드로 XP 시스템을 테스트할 수 있어요.
// 나중에 보스가 완성되면 이 스크립트는 삭제해도 됩니다.
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Header("🔧 테스트 설정")]
[SerializeField] private int testXPAmount = 10; // 테스트로 줄 XP 양
private void Start()
{
Debug.Log("========================================");
Debug.Log("🧪 [테스트 모드] 키보드 조작법:");
Debug.Log(" [1] 런 XP +10 (보스 맞추기 시뮬레이션)");
Debug.Log(" [2] 런 XP +50 (보스 도달 시뮬레이션)");
Debug.Log(" [3] 런 XP -5 (패턴 중 피격 시뮬레이션)");
Debug.Log(" [4] 사망 시뮬레이션 (XP 전환)");
Debug.Log(" [5] 현재 상태 확인");
Debug.Log(" [0] 저장 데이터 초기화 (처음부터 다시)");
Debug.Log("========================================");
}
private void Update()
{
// ObsessionSystem이 없으면 테스트 불가
if (ObsessionSystem.instance == null)
{
if (Input.anyKeyDown)
{
Debug.LogError("❌ ObsessionSystem이 씬에 없어요! GameManager 오브젝트에 추가하세요.");
}
return;
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// [1] 보스 맞추기 시뮬레이션 (+10 XP)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (Input.GetKeyDown(KeyCode.Alpha1))
{
ObsessionSystem.instance.AddRunXP(10);
Debug.Log("🎯 [테스트] 보스 맞추기! +10 런 XP");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// [2] 보스 도달 시뮬레이션 (+50 XP)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (Input.GetKeyDown(KeyCode.Alpha2))
{
ObsessionSystem.instance.AddRunXP(50);
Debug.Log("🚪 [테스트] 보스 방 도달! +50 런 XP");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// [3] 패턴 중 피격 시뮬레이션 (-5 XP)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (Input.GetKeyDown(KeyCode.Alpha3))
{
ObsessionSystem.instance.AddRunXP(-5);
Debug.Log("💥 [테스트] 패턴 중 피격! -5 런 XP");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// [4] 사망 시뮬레이션 (런 XP → 영구 XP 전환)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (Input.GetKeyDown(KeyCode.Alpha4))
{
Debug.Log("💀 [테스트] 사망! 런 XP를 영구 XP로 전환...");
ObsessionSystem.instance.OnDeathConvertXP();
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// [5] 현재 상태 확인
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (Input.GetKeyDown(KeyCode.Alpha5))
{
Debug.Log("========================================");
Debug.Log("📊 [현재 상태]");
Debug.Log($" 런 XP: {ObsessionSystem.instance.GetCurrentRunXP()}");
Debug.Log($" 영구 XP: {ObsessionSystem.instance.GetCurrentXP()}");
Debug.Log($" 레벨: {ObsessionSystem.instance.GetCurrentLevel()}");
Debug.Log("========================================");
}
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// [0] 저장 데이터 초기화 (처음부터 다시)
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (Input.GetKeyDown(KeyCode.Alpha0))
{
PlayerPrefs.DeleteAll();
Debug.Log("🗑️ [테스트] 모든 저장 데이터 삭제! 게임을 다시 시작하세요.");
}
}
}