- 애니메이션 이벤트 기반 방어/유지/해제 흐름과 HUD 피드백, 방어 디버그 로그를 추가했다. - 드로그 기본기1 테스트 패턴을 정리하고 공격 판정을 OnEffect 기반으로 옮기며 드로그 범위 효과의 타겟 레이어를 정상화했다. - 플레이어 퀵슬롯 테스트 세팅과 적-플레이어 겹침 방지 로직을 조정해 충돌 시 적이 수평 이동을 멈추고 최소 분리만 수행하게 했다.
47 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|