using UnityEngine; [CreateAssetMenu(fileName = "NewWeapon", menuName = "Weapons/Config")] public class WeaponConfig : ScriptableObject { [Header("기본 능력치")] [SerializeField] private float baseDamage = 10f; [SerializeField] private int requiredStrength = 5; public float BaseDamage => baseDamage; public int RequiredStrength => requiredStrength; [Header("애니메이션 설정")] [SerializeField] private string normalAttackTrigger = "Attack"; [SerializeField] private string chargingBool = "IsCharging"; [SerializeField] private string throwTrigger = "Throw"; public string NormalAttackTrigger => normalAttackTrigger; public string ChargingBool => chargingBool; public string ThrowTrigger => throwTrigger; [Header("차징 단계별 설정 (인스펙터 수정)")] [SerializeField] private float forceLv1 = 10f; [SerializeField] private float spreadLv1 = 25f; [SerializeField] private float forceLv2 = 18f; [SerializeField] private float spreadLv2 = 8f; [SerializeField] private float forceLv3 = 28f; // Lv3 Spread는 인스펙터에서 보이지 않게 하거나, 로직에서 무시하도록 처리합니다. // ⭐ 힘(Force)은 단계별로 가져옵니다. public float GetForce(int lv) => lv == 3 ? forceLv3 : (lv == 2 ? forceLv2 : forceLv1); // ⭐ [수정] 정확도(Spread) 로직: 3단계는 무조건 0(직선) 반환! public float GetSpread(int lv) { if (lv == 3) return 0f; // 풀차징은 무조건 일자로 날아감 return (lv == 2) ? spreadLv2 : spreadLv1; } }