Projext/Assets/5.TestScript/WeponConfig.cs
2026-01-29 15:58:38 +09:00

32 lines
1.3 KiB
C#

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;
[SerializeField] private float spreadLv3 = 0f;
public float GetForce(int lv) => lv == 3 ? forceLv3 : (lv == 2 ? forceLv2 : forceLv1);
public float GetSpread(int lv) => lv == 3 ? spreadLv3 : (lv == 2 ? spreadLv2 : spreadLv1);
}