Files
Colosseum/Assets/_Game/Scripts/Core/IDamageable.cs
dal4segno 0c9967d131 feat: 방어 시스템과 드로그 검증 경로 정리
- 애니메이션 이벤트 기반 방어/유지/해제 흐름과 HUD 피드백, 방어 디버그 로그를 추가했다.
- 드로그 기본기1 테스트 패턴을 정리하고 공격 판정을 OnEffect 기반으로 옮기며 드로그 범위 효과의 타겟 레이어를 정상화했다.
- 플레이어 퀵슬롯 테스트 세팅과 적-플레이어 겹침 방지 로직을 조정해 충돌 시 적이 수평 이동을 멈추고 최소 분리만 수행하게 했다.
2026-04-07 21:28:52 +09:00

47 lines
1.4 KiB
C#

namespace Colosseum.Combat
{
/// <summary>
/// 대미지를 받을 수 있는 엔티티를 위한 인터페이스.
/// 플레이어, 적, 보스 등이 구현합니다.
/// </summary>
public interface IDamageable
{
/// <summary>
/// 현재 체력
/// </summary>
float CurrentHealth { get; }
/// <summary>
/// 최대 체력
/// </summary>
float MaxHealth { get; }
/// <summary>
/// 사망 여부
/// </summary>
bool IsDead { get; }
/// <summary>
/// 대미지 적용
/// </summary>
/// <param name="damage">적용할 대미지량</param>
/// <param name="source">대미지 출처 (선택)</param>
/// <returns>실제로 적용된 대미지량</returns>
float TakeDamage(float damage, object source = null);
/// <summary>
/// 대미지 컨텍스트를 사용해 대미지를 적용합니다.
/// </summary>
/// <param name="damageContext">피해량과 방어 규칙이 담긴 컨텍스트</param>
/// <returns>실제로 적용된 대미지량</returns>
float TakeDamage(DamageContext damageContext);
/// <summary>
/// 체력 회복
/// </summary>
/// <param name="amount">회복량</param>
/// <returns>실제로 회복된 양</returns>
float Heal(float amount);
}
}