EerieVillage/Assets/Scripts/Skills/Data/SkillDataAsset.cs

62 lines
1.9 KiB
C#

using UnityEngine;
namespace EerieVillage.Skills
{
/// <summary>
/// 모든 스킬 데이터 asset의 공통 base.
/// BT12-Dev v1 §2-2 정합.
/// </summary>
public abstract class SkillDataAsset : ScriptableObject
{
[Header("공통")]
/// <summary>카드 식별자 — "A01"·"P12"·"AW19" (CSV v0.3 ID 컬럼)</summary>
public string CardId;
/// <summary>플레이어 표시 이름 (한글) — "진언부(眞言符)"</summary>
public string DisplayName;
/// <summary>영문 표시명 — CSV 2번째 컬럼</summary>
public string EnglishName;
/// <summary>UI용 아이콘</summary>
public Sprite Icon;
/// <summary>플레이어 표시 툴팁</summary>
[TextArea(2, 4)]
public string Description;
/// <summary>속성 태그 (Flags) — [물리]·[화염] 등</summary>
public AttributeTag AttributeTags;
/// <summary>타입 태그 (Flags) — [근접]·[원거리] 등</summary>
public TypeTag TypeTags;
/// <summary>최대 스택 레벨. 기본 5. Upgrade() 상한 기준.</summary>
[Tooltip("최대 스택 레벨 (1~5). 기본값 5.")]
public int maxLevel = 5;
}
/// <summary>
/// 속성 태그 (Flags enum). BT12-Dev v1 §2-2 정합.
/// </summary>
[System.Flags]
public enum AttributeTag
{
None = 0,
Physical = 1 << 0,
Fire = 1 << 1,
Frost = 1 << 2,
Lightning = 1 << 3,
Dark = 1 << 4
}
/// <summary>
/// 타입 태그 (Flags enum). BT12-Dev v1 §2-2 정합.
/// </summary>
[System.Flags]
public enum TypeTag
{
None = 0,
Melee = 1 << 0,
Ranged = 1 << 1,
Area = 1 << 2,
Persistent = 1 << 3,
Recovery = 1 << 4,
Defense = 1 << 5
}
}