32 lines
1.3 KiB
C#
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);
|
|
} |