feat: 긴급회피 스킬 슬롯 추가 및 검 모델 prefab 교체

- Left Ctrl에 Evade 액션 바인딩 추가 (InputSystem_Actions)
- PlayerSkillInput skillSlots 6→7개로 확장, 슬롯 6에 Evade 연결
- Prefab_Player_Default 긴급회피 스킬 슬롯 할당
- 검 무기 모델 fbx → prefab으로 교체
- 구르기 스킬 아이콘, 베기 스킬 이펙트 데이터 수정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-17 10:43:49 +09:00
parent a347d9360d
commit 5ca0fdabf7
11 changed files with 162 additions and 95 deletions

View File

@@ -2,7 +2,7 @@
// <auto-generated>
// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
// version 1.18.0
// from Assets/Scripts/InputSystem_Actions.inputactions
// from Assets/_Game/Scripts/InputSystem_Actions.inputactions
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -16,7 +16,7 @@ using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Utilities;
/// <summary>
/// Provides programmatic access to <see cref="InputActionAsset" />, <see cref="InputActionMap" />, <see cref="InputAction" /> and <see cref="InputControlScheme" /> instances defined in asset "Assets/Scripts/InputSystem_Actions.inputactions".
/// Provides programmatic access to <see cref="InputActionAsset" />, <see cref="InputActionMap" />, <see cref="InputAction" /> and <see cref="InputControlScheme" /> instances defined in asset "Assets/_Game/Scripts/InputSystem_Actions.inputactions".
/// </summary>
/// <remarks>
/// This class is source generated and any manual edits will be discarded if the associated asset is reimported or modified.
@@ -208,6 +208,15 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""Evade"",
""type"": ""Button"",
""id"": ""e9ae2f2b-7ce7-4104-9394-f2f3f599e595"",
""expectedControlType"": """",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
}
],
""bindings"": [
@@ -573,6 +582,17 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
""action"": ""Skill 6"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""f0f459a5-504a-425c-ae51-c6353269c277"",
""path"": ""<Keyboard>/ctrl"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Evade"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
},
@@ -1171,6 +1191,7 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
m_Player_Skill4 = m_Player.FindAction("Skill 4", throwIfNotFound: true);
m_Player_Skill5 = m_Player.FindAction("Skill 5", throwIfNotFound: true);
m_Player_Skill6 = m_Player.FindAction("Skill 6", throwIfNotFound: true);
m_Player_Evade = m_Player.FindAction("Evade", throwIfNotFound: true);
// UI
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
@@ -1277,6 +1298,7 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
private readonly InputAction m_Player_Skill4;
private readonly InputAction m_Player_Skill5;
private readonly InputAction m_Player_Skill6;
private readonly InputAction m_Player_Evade;
/// <summary>
/// Provides access to input actions defined in input action map "Player".
/// </summary>
@@ -1341,6 +1363,10 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
/// </summary>
public InputAction @Skill6 => m_Wrapper.m_Player_Skill6;
/// <summary>
/// Provides access to the underlying input action "Player/Evade".
/// </summary>
public InputAction @Evade => m_Wrapper.m_Player_Evade;
/// <summary>
/// Provides access to the underlying input action map instance.
/// </summary>
public InputActionMap Get() { return m_Wrapper.m_Player; }
@@ -1405,6 +1431,9 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
@Skill6.started += instance.OnSkill6;
@Skill6.performed += instance.OnSkill6;
@Skill6.canceled += instance.OnSkill6;
@Evade.started += instance.OnEvade;
@Evade.performed += instance.OnEvade;
@Evade.canceled += instance.OnEvade;
}
/// <summary>
@@ -1455,6 +1484,9 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
@Skill6.started -= instance.OnSkill6;
@Skill6.performed -= instance.OnSkill6;
@Skill6.canceled -= instance.OnSkill6;
@Evade.started -= instance.OnEvade;
@Evade.performed -= instance.OnEvade;
@Evade.canceled -= instance.OnEvade;
}
/// <summary>
@@ -1846,6 +1878,13 @@ public partial class @InputSystem_Actions: IInputActionCollection2, IDisposable
/// <seealso cref="UnityEngine.InputSystem.InputAction.performed" />
/// <seealso cref="UnityEngine.InputSystem.InputAction.canceled" />
void OnSkill6(InputAction.CallbackContext context);
/// <summary>
/// Method invoked when associated input action "Evade" 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 OnEvade(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.

View File

@@ -122,6 +122,15 @@
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "Evade",
"type": "Button",
"id": "e9ae2f2b-7ce7-4104-9394-f2f3f599e595",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [
@@ -487,6 +496,17 @@
"action": "Skill 6",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "f0f459a5-504a-425c-ae51-c6353269c277",
"path": "<Keyboard>/ctrl",
"interactions": "",
"processors": "",
"groups": "",
"action": "Evade",
"isComposite": false,
"isPartOfComposite": false
}
]
},

View File

@@ -14,8 +14,8 @@ namespace Colosseum.Player
public class PlayerSkillInput : NetworkBehaviour
{
[Header("Skill Slots")]
[Tooltip("각 슬롯에 등록할 스킬 데이터 (6개)")]
[SerializeField] private SkillData[] skillSlots = new SkillData[6];
[Tooltip("각 슬롯에 등록할 스킬 데이터 (6개 + 긴급회피)")]
[SerializeField] private SkillData[] skillSlots = new SkillData[7];
[Header("References")]
[Tooltip("SkillController (없으면 자동 검색)")]
@@ -76,6 +76,7 @@ namespace Colosseum.Player
inputActions.Player.Skill4.performed += _ => OnSkillInput(3);
inputActions.Player.Skill5.performed += _ => OnSkillInput(4);
inputActions.Player.Skill6.performed += _ => OnSkillInput(5);
inputActions.Player.Evade.performed += _ => OnSkillInput(6);
}
public override void OnNetworkDespawn()
@@ -88,6 +89,7 @@ namespace Colosseum.Player
inputActions.Player.Skill4.performed -= _ => OnSkillInput(3);
inputActions.Player.Skill5.performed -= _ => OnSkillInput(4);
inputActions.Player.Skill6.performed -= _ => OnSkillInput(5);
inputActions.Player.Evade.performed -= _ => OnSkillInput(6);
inputActions.Disable();
}
}