Projext/Assets/Scripts/Player/Combat/ArrowData.cs

46 lines
1.5 KiB
C#
Raw Normal View History

2026-02-09 14:49:44 +00:00
// ============================================
// 📁 파일명: ArrowData.cs
// 📂 경로: Assets/Scripts/Data/ArrowData.cs
// ============================================
using UnityEngine;
/// <summary>
/// 화살 정보를 담는 데이터 구조체
/// ArrowPickup.GetArrowData() → PlayerAttack.SetCurrentArrow() 로 전달됩니다.
/// </summary>
[System.Serializable]
public struct ArrowData
{
[Header("--- 기본 정보 ---")]
public string arrowName; // 화살 이름 (UI 표시용)
public ArrowElementType elementType; // 속성 타입
[Header("--- 스탯 ---")]
public float baseDamage; // 기본 데미지
public float elementDamage; // 속성 추가 데미지
public float elementDuration; // 속성 지속시간 (초)
[Header("--- 프리팹 ---")]
public GameObject projectilePrefab; // 발사할 파티클 프리팹
/// <summary>
/// 기본 화살 데이터 생성
/// </summary>
public static ArrowData Default => new ArrowData
{
arrowName = "기본 화살",
elementType = ArrowElementType.None,
baseDamage = 10f,
elementDamage = 0f,
elementDuration = 0f,
projectilePrefab = null
};
public override string ToString()
{
return $"[{arrowName}] 속성={elementType}, " +
$"기본데미지={baseDamage}, 속성데미지={elementDamage}, " +
$"지속시간={elementDuration}s";
}
}