- Assets/_Game/ 하위로 게임 에셋 통합 - External/ 패키지 벤더별 분류 (Synty, Animations, UI) - 에셋 네이밍 컨벤션 확립 및 적용 (Data_Skill_, Data_SkillEffect_, Prefab_, Anim_, Model_, BT_ 등) - pre-commit hook으로 네이밍 컨벤션 자동 검사 추가 - RESTRUCTURE_CHECKLIST.md 작성 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
2.0 KiB
C#
51 lines
2.0 KiB
C#
using UnityEngine;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Colosseum.Skills
|
|
{
|
|
/// <summary>
|
|
/// 스킬 데이터. 스킬의 기본 정보와 효과 목록을 관리합니다.
|
|
/// </summary>
|
|
[CreateAssetMenu(fileName = "NewSkill", menuName = "Colosseum/Skill")]
|
|
public class SkillData : ScriptableObject
|
|
{
|
|
[Header("기본 정보")]
|
|
[SerializeField] private string skillName;
|
|
[TextArea(2, 4)]
|
|
[SerializeField] private string description;
|
|
[SerializeField] private Sprite icon;
|
|
|
|
[Header("애니메이션")]
|
|
[Tooltip("기본 Animator Controller의 'Skill' 상태에 덮어씌워질 클립")]
|
|
[SerializeField] private AnimationClip skillClip;
|
|
[Tooltip("종료 애니메이션 (선택)")]
|
|
[SerializeField] private AnimationClip endClip;
|
|
|
|
[Header("루트 모션")]
|
|
[Tooltip("애니메이션의 이동/회전 데이터를 캐릭터에 적용")]
|
|
[SerializeField] private bool useRootMotion = false;
|
|
[Tooltip("루트 모션 적용 시 Y축 이동 무시 (중력과 충돌)")]
|
|
[SerializeField] private bool ignoreRootMotionY = true;
|
|
|
|
[Header("쿨타임 & 비용")]
|
|
[Min(0f)] [SerializeField] private float cooldown = 1f;
|
|
[Min(0f)] [SerializeField] private float manaCost = 0f;
|
|
|
|
[Header("효과 목록")]
|
|
[Tooltip("애니메이션 이벤트 OnEffect(index)로 발동. 리스트 순서 = 이벤트 인덱스")]
|
|
[SerializeField] private List<SkillEffect> effects = new List<SkillEffect>();
|
|
|
|
// Properties
|
|
public string SkillName => skillName;
|
|
public string Description => description;
|
|
public Sprite Icon => icon;
|
|
public AnimationClip SkillClip => skillClip;
|
|
public AnimationClip EndClip => endClip;
|
|
public float Cooldown => cooldown;
|
|
public float ManaCost => manaCost;
|
|
public bool UseRootMotion => useRootMotion;
|
|
public bool IgnoreRootMotionY => ignoreRootMotionY;
|
|
public IReadOnlyList<SkillEffect> Effects => effects;
|
|
}
|
|
}
|