using UnityEngine;
using Colosseum.Player;
namespace Colosseum.Skills.Effects
{
///
/// 대상에게 다운 상태를 적용하는 스킬 효과입니다.
///
[CreateAssetMenu(fileName = "DownEffect", menuName = "Colosseum/Skills/Effects/Down")]
public class DownEffect : SkillEffect
{
[Header("Settings")]
[Tooltip("다운 지속 시간")]
[Min(0f)] [SerializeField] private float duration = 1f;
///
/// 다운 지속 시간
///
public float Duration => duration;
///
/// 다운 효과를 적용합니다.
///
protected override void ApplyEffect(GameObject source, GameObject target)
{
if (target == null)
{
Debug.LogWarning("[DownEffect] Target is null.");
return;
}
HitReactionController hitReactionController = target.GetComponent();
if (hitReactionController == null)
hitReactionController = target.GetComponentInParent();
if (hitReactionController == null)
{
Debug.LogWarning($"[DownEffect] HitReactionController not found on target: {target.name}");
return;
}
hitReactionController.ApplyDown(duration);
}
}
}