using UnityEngine; // ============================================================================ // WeaponType // ---------------------------------------------------------------------------- // 무기 분류. 향후 다른 시스템(예: 데미지 면역, 약점)에서 분기용으로 사용. // ============================================================================ public enum WeaponType { Sword, Gun } // ============================================================================ // WeaponData // ---------------------------------------------------------------------------- // 무기 한 종류의 정의를 담은 ScriptableObject. // .asset 파일로 만들어 적의 드랍 슬롯과 픽업 프리팹에 할당. // // 효과: // - 장착 시 _idleAnimationState / _walkAnimationState를 이 무기 버전으로 교체 // - Punch 입력 시 _punchRootNode 대신 AttackRootNode 사용 // ============================================================================ [CreateAssetMenu(fileName = "WeaponData", menuName = "Combat/WeaponData")] public class WeaponData : ScriptableObject { public string DisplayName; // UI 표시/디버그용 이름 public WeaponType Type = WeaponType.Sword; // 분류 (시스템 분기용) [Header("Equipped Animations")] public string IdleAnimationState; // 장착 시 idle 애니메이션 (예: "Idle_Sword") public string WalkAnimationState; // 장착 시 walk 애니메이션 (예: "Walk_Sword") [Header("Attack")] public ComboNode AttackRootNode; // Punch 입력 시 사용할 콤보 root (단일 노드 가능) [Header("Pickup Visual")] public Sprite PickupSprite; // 월드에 떨어뜨려진 모습 }