feat: 디버그 패널 스킬 강제 발동 및 UI 모드 토글 시스템 추가

- UIModeController: leftAlt 키로 커서 표시/게임플레이 입력 차단 토글 (공용 싱글톤)
- DebugPanelUI: 보스 스킬 강제 발동 섹션 추가 (드롭다운 + 발동/취소 버튼)
- 에디터에서 Data/Skills의 보스 이름 기반 스킬 검색, 빌드에서 패턴 슬롯 fallback
- BossCombatBehaviorContext.GetAllPatternSkills() 추가 (디버그용 스킬 목록 수집)
- TMP Settings에 한글 폰트(MaruBuri)를 fallback으로 등록
- 젬/패시브/디버그 토글 버튼을 우측 하단에 수직 정렬
- InputSystem에 UIMode 액션(leftAlt) 추가
This commit is contained in:
2026-04-01 23:14:05 +09:00
parent 3663692b9d
commit ce883e4fa3
10 changed files with 569 additions and 20 deletions

View File

@@ -226,6 +226,15 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""UIMode"",
""type"": ""Button"",
""id"": ""2bb668a6-fd21-4c59-b81a-9b8a4faf6e62"",
""expectedControlType"": """",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
}
],
""bindings"": [
@@ -613,6 +622,17 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
""action"": ""DebugHUD"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""600580e8-6722-42b9-b740-2b734603e4e1"",
""path"": ""<Keyboard>/leftAlt"",
""interactions"": """",
""processors"": """",
""groups"": "";Keyboard&Mouse"",
""action"": ""UIMode"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
},
@@ -1213,6 +1233,7 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
m_Player_Skill6 = m_Player.FindAction("Skill 6", throwIfNotFound: true);
m_Player_Evade = m_Player.FindAction("Evade", throwIfNotFound: true);
m_Player_DebugHUD = m_Player.FindAction("DebugHUD", throwIfNotFound: true);
m_Player_UIMode = m_Player.FindAction("UIMode", throwIfNotFound: true);
// UI
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
@@ -1321,6 +1342,7 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
private readonly InputAction m_Player_Skill6;
private readonly InputAction m_Player_Evade;
private readonly InputAction m_Player_DebugHUD;
private readonly InputAction m_Player_UIMode;
/// <summary>
/// Provides access to input actions defined in input action map "Player".
/// </summary>
@@ -1393,6 +1415,10 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
/// </summary>
public InputAction @DebugHUD => m_Wrapper.m_Player_DebugHUD;
/// <summary>
/// Provides access to the underlying input action "Player/UIMode".
/// </summary>
public InputAction @UIMode => m_Wrapper.m_Player_UIMode;
/// <summary>
/// Provides access to the underlying input action map instance.
/// </summary>
public InputActionMap Get() { return m_Wrapper.m_Player; }
@@ -1463,6 +1489,9 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
@DebugHUD.started += instance.OnDebugHUD;
@DebugHUD.performed += instance.OnDebugHUD;
@DebugHUD.canceled += instance.OnDebugHUD;
@UIMode.started += instance.OnUIMode;
@UIMode.performed += instance.OnUIMode;
@UIMode.canceled += instance.OnUIMode;
}
/// <summary>
@@ -1519,6 +1548,9 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
@DebugHUD.started -= instance.OnDebugHUD;
@DebugHUD.performed -= instance.OnDebugHUD;
@DebugHUD.canceled -= instance.OnDebugHUD;
@UIMode.started -= instance.OnUIMode;
@UIMode.performed -= instance.OnUIMode;
@UIMode.canceled -= instance.OnUIMode;
}
/// <summary>
@@ -1924,6 +1956,13 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
/// <seealso cref="UnityEngine.InputSystem.InputAction.performed" />
/// <seealso cref="UnityEngine.InputSystem.InputAction.canceled" />
void OnDebugHUD(InputAction.CallbackContext context);
/// <summary>
/// Method invoked when associated input action "UIMode" is either <see cref="UnityEngine.InputSystem.InputAction.started" />, <see cref="UnityEngine.InputSystem.InputAction.performed" /> or <see cref="UnityEngine.InputSystem.InputAction.canceled" />.
/// </summary>
/// <seealso cref="UnityEngine.InputSystem.InputAction.started" />
/// <seealso cref="UnityEngine.InputSystem.InputAction.performed" />
/// <seealso cref="UnityEngine.InputSystem.InputAction.canceled" />
void OnUIMode(InputAction.CallbackContext context);
}
/// <summary>
/// Interface to implement callback methods for all input action callbacks associated with input actions defined by "UI" which allows adding and removing callbacks.