2026-04-13 스킬시스템 진행중

This commit is contained in:
2026-04-13 01:42:32 +09:00
parent ba93dc6d2f
commit b2cceb5b27
20 changed files with 1243 additions and 37 deletions

View File

@@ -26,12 +26,16 @@ public class InputManager : MonoBehaviour
public event Action OnNormalAttackEvent;
public event Action OnHeavyAttackEvent;
public event Action OnInteractionEvent;
public event Action OnKeyDown_SlotQEvent;
public event Action OnKeyDown_SlotEEvent;
public event Action OnKeyDown_SlotREvent;
public event Action OnKeyDown_SlotTEvent;
public event Action OnKeyDown_SlotFEvent;
public event Action OnKeyDown_SlotGEvent;
public event Action<InputState> OnKeyDown_SlotQEvent;
public event Action<InputState> OnKeyDown_SlotEEvent;
public event Action<InputState> OnKeyDown_SlotREvent;
public event Action<InputState> OnKeyDown_SlotTEvent;
public event Action<InputState> OnKeyDown_SlotFEvent;
public event Action<InputState> OnKeyDown_SlotGEvent;
public event Action<InputState> OnAreaConfirmEvent; // Remote 스킬 범위 확정
// 범위 지정 중 기본 공격 차단용 플래그 (SkillModule이 제어)
public bool SuppressNormalAttack { get; set; }
//키조작
@@ -119,6 +123,8 @@ public void SetCharacterInputMap(string mapName)
BindActionCharacter("UseSlot_F",OnKeyDown_Slot);
BindActionCharacter("UseSlot_G",OnKeyDown_Slot);
BindActionCharacter("AreaConfirm", OnAreaConfirm);
BindActionCharacter("Interaction", OnInteraction);
BindActionCharacter("OnkeyDown_IKey", OnKeyDown_IKey);
@@ -224,6 +230,7 @@ private void OnDodge(InputAction.CallbackContext ctx)
private void OnNormalAttack(InputAction.CallbackContext ctx)
{
if (SuppressNormalAttack) return;
OnNormalAttackEvent?.Invoke();
}
@@ -238,11 +245,40 @@ private void OnInteraction(InputAction.CallbackContext ctx)
OnInteractionEvent?.Invoke();
}
private void OnAreaConfirm(InputAction.CallbackContext ctx)
{
if (ctx.started)
OnAreaConfirmEvent?.Invoke(InputState.Started);
}
private void OnKeyDown_Slot(InputAction.CallbackContext ctx)
{
if(ctx.started)
if (ctx.started)
{
if (ctx.action.name == "UseSlot_Q")
{
OnKeyDown_SlotQEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_E")
{
OnKeyDown_SlotEEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_R")
{
OnKeyDown_SlotREvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_T")
{
OnKeyDown_SlotTEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_F")
{
OnKeyDown_SlotFEvent?.Invoke(InputState.Started);
}
else if (ctx.action.name == "UseSlot_G")
{
OnKeyDown_SlotGEvent?.Invoke(InputState.Started);
}
}
}
#endregion