feat: 런타임 보스 디버그 패널 및 MCP 커맨드 추가

- HUD 우측 하단 접이식 디버그 패널 (DebugPanelUI): 보스 HP 슬라이더/직접입력/프리셋, 페이즈 전환, 리스폰, 보호막, 이상상태 적용
- MCP execute_menu_item으로 호출 가능한 MenuItem 커맨드 (DebugBossMenuItems): HP/페이즈/보호막 제어, 상태 조회, 임의 값 설정 지원
- BossEnemyEditor 인스펙터 HP 조작 확장: 퍼센트 슬라이더 및 직접 HP 입력 추가
- Test 씬 UI Canvas 하위 DebugPanel GameObject 배치
- UNITY_EDITOR || DEVELOPMENT_BUILD 가드로 릴리즈 빌드 미포함
This commit is contained in:
2026-03-28 15:09:56 +09:00
parent 343ef1b072
commit 2bc5241ff1
6 changed files with 962 additions and 0 deletions

View File

@@ -17,6 +17,8 @@ namespace Colosseum.Editor
private bool showThreatInfo = true;
private bool showDebugTools = true;
private int selectedPhaseIndex = 0;
private float debugHPPercent = 1f;
private float debugHPValue = 0f;
private void OnEnable()
{
@@ -214,6 +216,37 @@ namespace Colosseum.Editor
// HP 조작
EditorGUILayout.LabelField("HP 조작", EditorStyles.boldLabel);
EditorGUI.indentLevel++;
// 현재 HP 표시
EditorGUILayout.LabelField("현재",
$"{boss.CurrentHealth:F0} / {boss.MaxHealth:F0} ({(boss.MaxHealth > 0 ? boss.CurrentHealth / boss.MaxHealth * 100f : 0f):F1}%)");
// 퍼센트 슬라이더
EditorGUI.BeginChangeCheck();
debugHPPercent = EditorGUILayout.Slider("퍼센트", debugHPPercent, 0f, 1f);
if (EditorGUI.EndChangeCheck())
{
SetBossHP(debugHPPercent);
}
// 직접 HP 값 입력
EditorGUILayout.BeginHorizontal();
debugHPValue = EditorGUILayout.FloatField("직접 입력", debugHPValue);
EditorGUILayout.LabelField($"/ {boss.MaxHealth:F0}", GUILayout.Width(80));
if (GUILayout.Button("적용", GUILayout.Width(60)))
{
float clamped = Mathf.Clamp(debugHPValue, 0f, boss.MaxHealth);
float percent = boss.MaxHealth > 0 ? clamped / boss.MaxHealth : 0f;
debugHPPercent = percent;
SetBossHP(percent);
}
EditorGUILayout.EndHorizontal();
EditorGUI.indentLevel--;
// 빠른 HP 설정 버튼
EditorGUILayout.Space(3);
EditorGUILayout.BeginHorizontal();
if (GUILayout.Button("HP 10%"))
{