feat: 젬 장착 제약 시스템 추가
- 기반 스킬 분류를 도입하고 젬별 장착 가능 스킬 타입 조건을 추가함 - 동일 젬 중복 장착, 카테고리 상호 배타, 특정 젬 상호 배타를 로드아웃 검증에 반영함 - 테스트용 젬/스킬 자산과 디버그 생성 메뉴를 새 제약 구조에 맞게 갱신함 - Unity 재컴파일과 콘솔 확인으로 신규 컴파일 에러가 없음을 검증함
This commit is contained in:
@@ -5,6 +5,23 @@ using UnityEngine;
|
||||
|
||||
namespace Colosseum.Skills
|
||||
{
|
||||
/// <summary>
|
||||
/// 젬 장착 조건에서 사용하는 기반 스킬 분류입니다.
|
||||
/// 하나의 스킬이 여러 분류를 동시에 가질 수 있습니다.
|
||||
/// </summary>
|
||||
[Flags]
|
||||
public enum SkillBaseType
|
||||
{
|
||||
None = 0,
|
||||
Attack = 1 << 0,
|
||||
Defense = 1 << 1,
|
||||
Support = 1 << 2,
|
||||
Control = 1 << 3,
|
||||
Mobility = 1 << 4,
|
||||
Utility = 1 << 5,
|
||||
All = Attack | Defense | Support | Control | Mobility | Utility,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 스킬 데이터. 스킬의 기본 정보와 효과 목록을 관리합니다.
|
||||
/// </summary>
|
||||
@@ -17,6 +34,10 @@ namespace Colosseum.Skills
|
||||
[SerializeField] private string description;
|
||||
[SerializeField] private Sprite icon;
|
||||
|
||||
[Header("기반 스킬 분류")]
|
||||
[Tooltip("젬 장착 가능 조건에 사용하는 기반 스킬 분류")]
|
||||
[SerializeField] private SkillBaseType baseTypes = SkillBaseType.None;
|
||||
|
||||
[Header("애니메이션")]
|
||||
[Tooltip("기본 Animator Controller의 'Skill' 상태에 덮어씌워질 클립")]
|
||||
[SerializeField] private AnimationClip skillClip;
|
||||
@@ -61,6 +82,7 @@ namespace Colosseum.Skills
|
||||
public string SkillName => skillName;
|
||||
public string Description => description;
|
||||
public Sprite Icon => icon;
|
||||
public SkillBaseType BaseTypes => baseTypes;
|
||||
public AnimationClip SkillClip => skillClip;
|
||||
public AnimationClip EndClip => endClip;
|
||||
public float AnimationSpeed => animationSpeed;
|
||||
|
||||
Reference in New Issue
Block a user