feat: 보스 패턴 시스템 구현
- BossPatternData SO로 스킬/Wait 스텝 순서와 쿨타임 정의 - UsePatternAction으로 Behavior Graph에서 패턴 실행 - 보스 전용 애니메이션 분리 및 AnimatorOverrideController 정상화 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
38
Assets/Scripts/AI/BossPatternData.cs
Normal file
38
Assets/Scripts/AI/BossPatternData.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
using Colosseum.Skills;
|
||||
|
||||
namespace Colosseum.AI
|
||||
{
|
||||
public enum PatternStepType { Skill, Wait }
|
||||
|
||||
[System.Serializable]
|
||||
public class PatternStep
|
||||
{
|
||||
public PatternStepType Type = PatternStepType.Skill;
|
||||
public SkillData Skill;
|
||||
[Min(0f)] public float Duration = 0.5f;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 보스 패턴 데이터. 순서대로 실행할 스텝(스킬 또는 대기) 목록과 쿨타임을 정의합니다.
|
||||
/// </summary>
|
||||
[CreateAssetMenu(fileName = "NewBossPattern", menuName = "Colosseum/Boss Pattern")]
|
||||
public class BossPatternData : ScriptableObject
|
||||
{
|
||||
[Header("패턴 정보")]
|
||||
[SerializeField] private string patternName;
|
||||
|
||||
[Header("스텝 순서")]
|
||||
[SerializeField] private List<PatternStep> steps = new List<PatternStep>();
|
||||
|
||||
[Header("쿨타임")]
|
||||
[Min(0f)]
|
||||
[Tooltip("패턴 완료 후 다시 사용 가능해지기까지의 시간")]
|
||||
[SerializeField] private float cooldown = 5f;
|
||||
|
||||
public string PatternName => patternName;
|
||||
public IReadOnlyList<PatternStep> Steps => steps;
|
||||
public float Cooldown => cooldown;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user